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 visualizzare 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. Se hai bisogno di un modo per aggirare questo comportamento, potresti essere interessato a questa pagina sul sito di Chip Pearson:

http://www.cpearson.com/excel/ShellAndWait.aspx

_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 (9843) si applica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 ed Excel in Office 365. Puoi trovare una versione di questo suggerimento per l’interfaccia del menu precedente di Excel qui: