> E' possibile avviare una macro pescandola da un file xls chiuso?
-----------------
ciao Drago,
non penso sia possibile.
Sapevi che è possibile scrivere codice in uno speciale file (Personal.xls)
che si apre sempre all'apertura di Excel in modalità nascosta?
Qui puoi mettere tutte le tue macro che vuoi e lanciare dalla barra degli
strumenti.
Un'altra possibilità sono i files .vbs, piccoli files di testo con dentro
codice eseguibile semplicemente lanciandoli da windows o anche da codice vba.
--
()---cucchiaino
"Drago" ha scritto:
> E' possibile avviare una macro pescandola da un file xls chiuso?
> Se si come?
> Grazie a tutti
>
>
>
ciao,
vedi il metodo run
membro di excel.application
ciao
r
"cucchiaino" <so...@excel.it> ha scritto nel messaggio
news:eEra5D6%23IHA...@TK2MSFTNGP05.phx.gbl...
> Potrebbe essermi utile la seconda opzione; ovvero il file .vbs.
> Potresti indicarmi qualche sito o qualche esempio da seguire per crearlo
Qui ce n'è alcuni:
http://www.activexperts.com/activmonitor/windowsmanagement/scripts/msoffice/excel/
Mauro Gamberini ha postato in passato altri esempi su questo ng, ma
non ho sottomano i links.
--
()---cucchiaino
>Potrebbe essermi utile la seconda opzione; ovvero il file .vbs.
>Potresti indicarmi qualche sito o qualche esempio da seguire per crearlo
<pubblicità>Io ho scritto del codice in vbs che ho in parte pubblicato sul sito qui sotto.
C'è una pagina su come comandare excel da vbs.<\pubblicità>
Gli script vbs sono solo dei file di testo con dei comandi molto simili a vb o vba. Solo
che hanno estensione vbs.
E' solo un sito amatoriale, senza pubblicità e con pochissime immagini. C'è di buono che è
in italiano.
Per la tua domanda, rispondo che è possibile da vbs aprire il file con la macro, farla
partire e poi chiudere tutto. Anche senza mostrare la finestra di excel.
Giovanni.
--
Giovanni Cenati (Bergamo, Italy)
Write to "Reventlov" at katamail com
http://digilander.libero.it/Cenati (Esempi e programmi in VbScript)
--
"Reventlov" ha scritto:
ciao giovanni,
confermo ... io ho trovato molti
spunti interessanti nel tuo sito,
e consiglio a tutti la visita.
saluti
r
> E' possibile avviare una macro pescandola da un file xls chiuso?
> Se si come?
Ciao Drago.
Invero fornisci ben poche informazioni per chiarire la tua situazione
reale comunque in linea di massima con un file chiuso non ci puoi far
nulla. In qualche modo dovrai pur sempre aprirlo. Se interpreto
correttamente almeno l`ordine del problema che hai deciso di affrontare,
dopo aver letto anche l`altro tuo thread in cui parlavi di un file
principale e di altri file contenenti tutti la stessa macro, una
soluzione potrebbe essere del tipo seguente:
' Modulo1 - Modulo standard
'
Option Explicit
Public Sub EseguiMacroEsterna(ByVal Path As String _
, ByVal Filename As String _
, ByVal Macro As String)
Dim objRef As VBIDE.Reference
Dim blnFound As Boolean
Dim strProjectName As String
Dim blnWasOpen As Boolean
blnWasOpen = WorkbookIsOpen(Filename)
With Application
With .ThisWorkbook
For Each objRef In .VBProject.References
With objRef
If .FullPath = Path & Filename Then
strProjectName = .Name
blnFound = True
Exit For
End If
End With
Next
If blnFound = False Then
With .VBProject.References
Set objRef = .AddFromFile(Path & Filename)
End With
strProjectName = objRef.Name
End If
End With
.Run strProjectName & "." & Macro
With .ThisWorkbook
.VBProject.References.Remove objRef
End With
If blnFound = False Then
If blnWasOpen = False Then
Workbooks.Item(Filename).Close False
End If
End If
End With
Set objRef = Nothing
End Sub
Private Function WorkbookIsOpen(ByVal Index _
As Variant) As Boolean
On Error Resume Next
WorkbookIsOpen = IsObject(Workbooks.Item(Index))
End Function
Da usare per esempio cosi`:
Public Sub Test()
Const cPath = "D:\Percorso\"
Const cFileName = "Cartel1.xls"
Const cMacroName = "Test"
EseguiMacroEsterna cPath, cFileName, cMacroName
End Sub
IMPORTANTE: Il file contenente la routine "EseguiMacroEsterna" dovra`
avere un nome di progetto *diverso* da quello di default, che e`
"VBAProject". Io ho usato "PMain".
Personalmente pero` userei questo metodo solo in casi estremi, o piu`
precisamente mai. ;-)
(Facci sapere se e eventualmente come hai risolto. Grazie!)
--
Ciao!
Maurizio Borrelli [Microsoft MVP Office System]
http://www.riolab.org/
"Maurizio Borrelli" <maurizio...@freepass.it> ha scritto nel messaggio
news:Ojnuq74$IHA....@TK2MSFTNGP05.phx.gbl...
"Drago" <V_IsA...@UlSiCbOeLrEo.it> ha scritto nel messaggio
news:Ricqk.44275$Ca.1...@twister2.libero.it...