Home |
Search |
Today's Posts |
#8
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Bob, John, Steve:
Thank you all very much. I gave up on Paint, used CreateObject with PowerPoint. Also able to avoid SendKeys that way. Thanks again. -- Gary''s Student - gsnu200755 "Steve Yandl" wrote: Gary's Student, I'm guessing that your goal is to save a picture of a range in some picture format like gif. If that's the case, it might be more efficient to create a chart on the active sheet with nothing in it, paste what you placed using the range's copypicture method into the chart, export the chart as a gif to wherever you want it and then delete the chart. Steve "Gary''s Student" wrote in message ... First, thank you very much for you help. I do appreciate your interest & willingness to help. Here is a sample of what is happening: Sub pai() Dim ReturnValue, i As Integer For i = 1 To 4 Cells(1, i).Value = i Next Range("A1:D1").CopyPicture Appearance:=xlScreen, Format:=xlPicture Shell "C:\WINDOWS\system32\mspaint.exe", 1 SendKeys "^v", True End Sub 1. the cells are filled 2. the picture is copied 3. Paint is activated 4. CNTRL-v is issued Sadly the CNTRL-v is accepted by Excel rather than Paint. -- Gary''s Student - gsnu200755 "John Bundy" wrote: I see where you get those examples in the help but they are wrong, they error if you run them (as you know), just give the program focus with the ,1 at the end of the shell script -- -John Please rate when your question is answered to help us and others know what is helpful. "Gary''s Student" wrote: Thanks for your response. Its the AppActivate that is failing. It need it to make Paint the active application. If I omit the AppActivate, any subsequent commands I send end up going to Excel rather than Paint. I need them to go to Paint b.t.w. I don't have this problem running Word from Excel. -- Gary''s Student - gsnu200755 "John Bundy" wrote: I've never totally understood the why's, and the first time i worked with it i tried it your way, but if you just shell without the returnvalue= you get an error, take off the paren and it all works beautifully Shell "C:\WINDOWS\system32\mspaint.exe", 1 that is the only line you need in the whole thing. -- -John Please rate when your question is answered to help us and others know what is helpful. "Gary''s Student" wrote: I am having trouble getting Paint started: Sub paint1() Dim ReturnValue, i ReturnValue = Shell("C:\WINDOWS\system32\mspaint.exe", 1) AppActivate ReturnValue End Sub Raises a run time error 5 Sub paint2() Dim ReturnValue, i ReturnValue = Shell("C:\WINDOWS\system32\mspaint.exe", 1) MsgBox (ReturnValue) AppActivate ReturnValue End Sub Works just fine. Why do I need the MsgBox() before the AppActivate?? -- Gary''s Student - gsnu200755 |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Shell function problem (MS Access) | Excel Programming | |||
Problem with Shell command | Excel Programming | |||
Shell Problem | Excel Programming | |||
Shell | Excel Programming | |||
Problem using Excel's "Shell" command | Excel Programming |