DOS da macro (Microsoft Excel)
Le macro sono un modo meraviglioso per espandere le funzionalità di un programma come Excel. Tuttavia, potresti voler espandere ulteriormente questa funzionalità eseguendo un file batch DOS dalla tua macro. Excel ti consente di farlo utilizzando il comando Shell. La sintassi generale per il comando è la seguente:
dRetVal = Shell("myfile.bat", mode)
All’interno delle virgolette è possibile inserire il nome completo del percorso e il nome del file che si desidera eseguire. Su alcuni sistemi potrebbero verificarsi problemi se si utilizza un nome di percorso con la specifica del file. (Questo sembra tagliare la sua brutta testa se hai nomi di percorso complessi o se il nome del percorso include spazi.) Se hai questo problema, usa semplicemente il comando ChDir appena prima di Shell per cambiare la directory usata da Excel. È quindi possibile eseguire Shell utilizzando solo un nome file.
L’indicatore di modalità dice semplicemente a Excel come si desidera che la finestra venga aperta per far apparire il file. L’indicatore della modalità può essere uno dei seguenti:
Value |
Variable Nam |
Meaning |
||
0 |
vbHide |
Window is hidden and has focus. |
||
1 |
vbNormalFocus |
Window is the normal size and has focus. |
||
2 |
vbMinimizedFocus |
Window is minimized and has focus. |
||
3 |
vbMaximizedFocus |
Window is maximized and has focus. |
||
4 |
vbNormalNoFocus |
Window is normal size, but doesn’t have focus. |
||
6 |
vbMinimizedNoFocus |
Window is minimized, but doesn’t have focus. |
Il comando Shell restituisce un valore che indica l’ID del programma del file eseguito, oppure uno zero. Se viene restituito uno zero, si è verificato un errore durante l’esecuzione del file.
È necessario ricordare che quando si utilizza Shell, il file di destinazione viene eseguito immediatamente e viene eseguito indipendentemente da Excel. Ciò significa che il comando macro successivo, nella macro di Excel, viene eseguito immediatamente senza attendere il completamento del file di destinazione della shell. Sfortunatamente, non è possibile aggirare questo comportamento.
_Nota: _
Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.
ExcelTips è la tua fonte di formazione economica su Microsoft Excel.
Questo suggerimento (2506) si applica a Microsoft Excel 97, 2000, 2002 e 2003. Puoi trovare una versione di questo suggerimento per l’interfaccia a nastro di Excel (Excel 2007 e versioni successive) qui: