Come fare clic in una cella di Excel ed eseguire una riga di comando contenuta in tale cella o in una cella adiacente?


0

Sto cercando di capire quanto segue:

  • Ho un foglio Excel in cui nutro alcuni parametri al giorno e concatena quelli per eseguire un'applicazione in linea di comando.
  • Il foglio genera un totale di 28 comandi (linee), più il primo che raggiunge la cartella dell'applicazione
  • Quindi devo copiare tutti quei comandi e incolla in un .bat ed eseguire.

Spero che:

  • Potrei aggiungere un pulsante che esegue tutti i 29 comandi (linee) con un clic;
  • Fai clic su una qualsiasi delle 28 celle di comandi per eseguire solo quel comando (il clic è simile a quello di questo esempio, ma il clic dovrebbe eseguire ciò che si trova in quella cella ...)

Ecco un esempio del foglio concatenato da cui copio e incollo il file .bat

I parametri che differiscono tra i comandi sono più a destra, non mostrati qui:

enter image description here


1
Si prega di notare che Super User non è un servizio di scrittura di script / codice libero. Se ci dici cosa hai provato fino ad ora (includi gli script / codice che stai già utilizzando) e dove sei bloccato, possiamo provare ad aiutare con problemi specifici. Dovresti anche leggere Come faccio a fare una buona domanda? .
DavidPostill

A me sembra questa risposta potrebbe essere un buon punto di partenza per il tuo lavoro
Prasanna

Risposte:


0

Non scriverò tutto questo, perché non so come siano i tuoi file o la tua struttura. Tutto quello che devi fare è caricare le informazioni del foglio excel nel codice e lasciare che il ciclo vada. Aggiungerà ogni riga al file batch. Puoi aggiungere una shell per eseguirla automaticamente ... ma se lo fai potresti aver bisogno di una piccola pausa o di un ritardo.

    Sub Blah()


    Dim fso As Scripting.FileSystemObject
    Dim F As File
    Dim F2 As TextStream
    Dim BatchFile As String
    'Also, need to load in excel stuff up here.

    BatchFile = ("C:\Users\" & Environ$("Username") & "\Documents\FileName.bat")
    Set F2 = fso.CreateTextFile("C:\Users\" & Environ$("Username") & "\Documents\FileName.bat")
    RowNum = 1
    On Error GoTo Errs:
    S = ""
    Do Until Worksheet.Cells(RowNum, 1).value = ""

    S = S & workshee.Cells(RowNum, 1) & Chr(13) & Chr(10)

    RowNum = RowNum + 1
    Loop
Errs:

    F2.Write S

    End Sub
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.