Ho una macro che cambierà tra i programmi. Ho notato che Excel 2010 e 2016 hanno un nome diverso nel sistema (la mia semantica qui è sbagliata, scusa!) E invece di dover cambiare il codice a seconda di quale Excel, stavo solo pensando di usare una variabile per impostarla .Utilizzare una variabile per il nome di un'applicazione
Sub test()
'code here in Excel
Dim myApp
myApp = Application.Application
AppActivate "Google Chrome"
Call AppActivate("Google Chrome")
' do one or two things
AppActivate myApp
'do more things in Excel
End Sub
Sfortunatamente, lo AppActivate myApp
non funziona. Si getta
Errore di runtime '5': chiamata di routine non valido o argomento
C'è un modo per fare quello che sto cercando? Vedo su this site che avrei potuto fare qualcosa di simile:
Public vPID As Variant
vPID = Shell("C:\Windows\system32\notepad.exe", vbNormalFocus)
AppActivate (vPID)
Salvo, che cosa se Excel non si trova nello stesso percorso del file sui due computer che sta per essere utilizzato su?
Edit: Sembra che ho solo bisogno di impostare la Title
della Domanda alla variabile (ancora una volta, da quel sito):
Normalmente, l'istruzione AppActivate viene utilizzato per attivare un'applicazione esistente basata su il suo titolo.
EDIT2: Sempre più vicini, ho trovato ho potuto ottenere il percorso per Excel.Exe
da questo, excelPath = Application.Path & "\Excel.exe"
ma non riesco a capire come chiamare questo.
Non è chiaro ...... vuoi ** aperto ** un'istanza di Word o ** attiva ** un'istanza che hai già aperto ?? –
@ Gary'sStudent: voglio attivare un'istanza già aperta. – BruceWayne