Domanda.

nome=massimiliano
cognome=Ferraroni
versione=2000
conosco2=medio
macro=SI
email=ferraroni@collivaedilizia.it
chra=19
problema=Ringrazio anticipatamente coloro che mi vogliano dare un consiglio.
Il problema consiste nel dover trasfomare un Range sul quale è stata costruita una sagoma con le linee in una figura .bmp per
poterla successivamente spostarla in una immagine di una userform tramite il loadpicture.
la mia idea (che non funziona e non capisco perchè) è questa:
Sub trasformazione()
Dim IDNA As Long
Range("A1:C8").Copy 'copio il range dal foglio di excel
IDNA = Shell("C:\Programmi\Accessori\Mspaint.exe" & " " & "C:\Documenti\immagine.bmp", vbNormalFocus) 'file di paint esistente(vuoto)
AppActivate Title:=IDNA, Wait:=True ' attivo il file di paint (da errore)
SendKeys "^v", True ' copio il range trasformandolo cosi in .bmp
SendKeys "+{F12}", True 'salvo la figura
SendKeys "%{F4}", True 'esco da paint
End Sub
Si verifica un errore nell'attivazione del file, ma se non lo attivo i vari sendkey non fanno riverimento a Paint bensi a Excel
Mi sono arenato....non ho più idee!
 

Risposta.

salve Massimiliano, la tua idea non può funzionare per un semplice motivo:
usare la Shell o AppActivate serve solo ad aprire una determinata applicazione, cioè un programma,
MA NON AD INTERREAGIRE CON il programma così aperto.
In pratica le istruzioni vba agiscono solo nell'ambito di programmi che usano lo stesso linguaggio di
programmazione, ed MSPaint non conosce istruzioni vba, è chiaro che le istruzioni SendKeys possono agire solo in excel, in questo caso. Almeno questo è quello che so io, tu comunque prova a chiedere in giro.
saluti, ennius