Option Explicit Sub avvia_applicazione() Shell("C:\Program Files\ZOC8\zoc.exe") 'path per versione x64 End Sub
Option Explicit Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Cancel = True If Not Intersect(Target, Range("B1:AMC1")) Is Nothing Then 'per ora il range è statico Shell ("C:\Users\d.proietti\Desktop\zoc\zoc.exe /RUN: C:\Users\d.proietti\Documents\ZOC6 Files\" & Target.Value) End If End Sub
Option Explicit Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 'dichiaro le variabili Dim ur As Long 'ultima riga Dim ul As Long 'ultima colonna Dim riga As Long 'riga in esportazione Dim col As Long 'colonna cliccata Dim sPath As String 'percorso Dim sFile As String 'nome file Dim esiste As Long 'esiste, che faccio ? 'inibisci Modifica alla cella per DoppioClick Cancel = True 'verifica se siamo nel range dei nomi file (riga 1 da B all'ultima colonna) ul = Cells(1, Cells.Columns.Count).End(xlToLeft).Column If Not Intersect(Target, Range(Cells(1, 2), Cells(1, ul))) Is Nothing Then col = Target.Column ur = Cells(Rows.Count, col).End(xlUp).Row sPath = "C:\Users\d.proietti\Documents\ZOC6 Files\" sFile = Target.Value '----------eliminare se sta bene sovrascrivere sempre---------- 'verifica se esiste il file per non sovrascriverlo If Dir(sPath & sFile) <> "" Then esiste = MsgBox("Il file > " & sFile & " < già esiste, lo sovrascrivo ?", vbYesNo) If esiste = vbNo Then Exit Sub End If '-------------------------------------------------------------- 'apri in scrittura il file da creare Open sPath & sFile For Output As #1 For riga = 2 To ur 'Print #1, Cells(riga, col) 'con le righe vuote If Cells(riga, col) <> "" Then Print #1, Cells(riga, col) 'senza righe vuote Next riga 'chiudi il file creato Close #1 '----------eliminare se sta bene sovrascrivere sempre---------- MsgBox "Fatto, script > " & sFile & " < creato in " & sPath '-------------------------------------------------------------- 'apri l'applicazione Zoc con il file come parametro Shell ("C:\Users\d.proietti\Desktop\zoc\zoc.exe /RUN:C:\Users\d.proietti\Documents\ZOC6 Files\" & Target.Value) End If End Sub
Option Explicit Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim ul As Long Cancel = True ul = Cells(1, Cells.Columns.Count).End(xlToLeft).Column If Not Intersect(Target, Range(Cells(1, 2), Cells(1, ul))) Is Nothing Then Shell ("C:\Users\d.proietti\Desktop\zoc\zoc.exe /RUN:C:\Users\d.proietti\Documents\ZOC6 Files\" & Target.Value) End If
come la macro passo passo che ho inserito sul modulo allegato
'-------------------------------------------------------------- 'apri l'applicazione Zoc con il file come parametro ZocDDE = DDEInitiate("ZOC", "Comm-Debug"): DDEExecute ZocDDE, "ZocDoString ^run=" & sFile coloracolonnepassopasso End If End Sub Sub coloracolonnepassopasso() ActiveCell.EntireColumn.Offset(0, 0).Select With Selection.Interior .PatternColorIndex = xlAutomatic .Color = 5296274 .TintAndShade = 0 .PatternTintAndShade = 0 End With End Sub
Option Explicit Sub Pulsante2_Click() 'dichiaro le variabili Dim riga As Long 'riga in esportazione Dim col As Long 'colonna in elaborazione Dim sPath As String 'percorso Dim sFile As String 'nome file Dim esiste As Long 'esiste, che faccio ? 'ciclo sui nomi file (riga 1 da B all'ultima colonna) For col = 2 To Cells(1, Cells.Columns.Count).End(xlToLeft).Column With Range(Cells(1, col).Address) If .Value <> "" Then 'verifico se c'è un nome file altrimenti passa oltre If .Interior.Color <> 5296274 Then 'verifico se già eseguita (colorata) sPath = "C:\Users\d.proietti\Documents\ZOC8 Files\" sFile = .Value '----------eliminare se sta bene sovrascrivere sempre---------- If Dir(sPath & sFile) <> "" Then 'verifica se esiste il file per non sovrascriverlo esiste = MsgBox("Il file > " & sFile & " < già esiste, lo sovrascrivo ?", vbYesNo) If esiste = vbNo Then Exit Sub End If '-------------------------------------------------------------- 'apri in scrittura il file da creare Open sPath & sFile For Output As #1 'ciclo sulle righe dello script For riga = 2 To Cells(Rows.Count, col).End(xlUp).Row 'Print #1, Cells(riga, col) 'con le righe vuote If Cells(riga, col) <> "" Then Print #1, Cells(riga, col) 'senza le righe vuote Next riga 'chiudi il file creato Close #1 '----------eliminare se sta bene sovrascrivere sempre---------- MsgBox "Fatto, script > " & sFile & " < creato in " & sPath '-------------------------------------------------------------- 'inoltra all'applicazione Zoc il file script come parametro ZocDDE = DDEInitiate("ZOC", "Comm-Debug"): DDEExecute ZocDDE, "ZocDoString ^run=" & sFile .EntireColumn.Interior.Color = 5296274 'colora la colonna appena elaborata .Select 'seleziona il nome file appena elaborato 'uscita per completata elaborazione dello script Exit For End If End If End With Next col End Sub