giervolino1 Inserito: 31 agosto 2015 Segnala Inserito: 31 agosto 2015 Salve avrei la necessità di creare uno script che mi salvi variabili di tipo string, real e int su un file txt giornaliero! (datafile.txt)Ed ogni giorno crearne uno nuovo!Ho provato ad usare gli archivi ma non mi fa salvare le variabili di tipo string!Grazie!
Giuseppe Signorella Inserita: 1 settembre 2015 Segnala Inserita: 1 settembre 2015 Prova a dare un'occhiata a questa discussione, potrebbe esserti di aiuto.Ciao
giervolino1 Inserita: 2 settembre 2015 Autore Segnala Inserita: 2 settembre 2015 Ciao giuseppe è ottimo ma scusa l'ignoranaza ma nel tuo esempio le variabili che vado a definire in variabili Scada quali sono e che nomi devono avere?Non so come associare le variabili !Grazie
giervolino1 Inserita: 6 settembre 2015 Autore Segnala Inserita: 6 settembre 2015 Ciao ho abbozzato questo script funziona ma mi crea una sola riga di acquisizione e mi sovrascrive ogni volta che lancio lo script!Ecco lo script:Sub FunzioneVB_1()'Suggerimento:' 1. Utilizzare la combinazione di tasti <CTRL+SPACE> o<CTRL+I> per aprire l'elenco completo degli oggetti o delle funzioni' 2. Scrivere il codice con l'oggetto HMI Runtime.' Esempio: HmiRuntime.Screens("Screen_1").' 3. Utilizzare la combinazione di tasti <CTRL+J> per creare un riferimento dell'oggetto.'Scrivere il codice da questa posizione:Dim fso, MyFile, today_stringOn Error Resume NextSet fso = CreateObject("Scripting.FileSystemObject")today_string = CStr(Year(Now))&"_"& CStr(Month(Now))&"_"& CStr(Day(Now))Set MyFile = fso.GetFile("C:\Users\GIUSEPPE\Desktop\HOME\production.xls") ' source fileMyFile.Copy ("C:\Users\GIUSEPPE\Desktop\HOME\" & today_string & "_" & "production" & ".xls") 'copy to destination fileMyFile.Delete 'then delete the old one Dim objFileSystem, blank, fs 'dichiara le variabiliSet objFileSystem = CreateObject("Scripting.FileSystemObject")'dichiara le proprietà del fileSet fs = objFileSystem.CreateTextFile ("C:\Users\GIUSEPPE\Desktop\HOME\production.xls",True) 'file create, eventually overwritten and ascii defaultblank=" "'fs.WriteLine("Report day" + ";" + "Report hour" + ";" + "Operator name" + ";" + "Program number" + ";" + "Program description" + ";" + "Quantity set point" + ";" + "Elapsed" + ";" + "Produced" + ";" + "Total Production"):fs.WriteLine("Report day" + ";" + "Report hour" + ";" + "Operator name" + ";" + "Program number" + ";" + "Program description" + ";" + ";" + "Produced" + ";" + "Total Production"):fs.Close 'chiudi il fileDim a, f, objFileSize, operatore, trigger, strNomeFile 'dichiara le variabili Set fso = CreateObject("Scripting.FileSystemObject") Set fs = fso.OpenTextFile ("C:\Users\GIUSEPPE\Desktop\HOME\production.xls",8) 'apre il file e scrive alla fine file (comando=8) ascii default blank=" " fs.WriteLine ( " "+ CStr (Date)+ ";" + CStr(Time) + ";" + CStr(SmartTags("Codice")) + ";" + CStr(SmartTags("WO")) + ";" + CStr(SmartTags("numero"))+ ";" + CStr(SmartTags("Di")) + ";" + CStr(SmartTags("Colore"))+ " "): End Sub Grazie
clamp78 Inserita: 9 ottobre 2015 Segnala Inserita: 9 ottobre 2015 Si Gervolino, prima di eseguire la scrittura devi crearti una funzione che ti sposta in basso tutta la pagina di una riga:ti copio pari pari la funzione che mi sono creato io:Nelle proprieta delle script Devi dichiarar due variability d'ingresso: NameTableOnUse ByVal (sarebbe il nome del file),N_Column ByVal (il número di colonne che vuoi spostare in basso di un rigo); il valore di queste due variabili poile devi scrivere quando richiami lo script, immediatamente prima di quando scrivi il nuovo rigo...In pratica quando richiami lo script (se ad esempio lo chiami "ShiftDown", e vuoi spostare in basso 3 colonne)...ShiftDown C:\NomeFile, 3... Dai il comando di scrittura del primo rigo Questo è quello che devi scrivere nello script per spostare tutta la pagina in basso per un singolo rigo...Dim PointerLastLine, LineToCopy, LineToWrite, PointerColumn, TableSet Table = CreateObject ("Excel application") ' Detect what is the last line of the tablePointerLastLine=1Do While Table.ArchiveSheet.Cells(PointerLastLine,1) <> ""PointerLastLine=PointerLastLine+1Loop' #################################################'Initialize dataLineToCopy=PointerLastLine-1LineToWrite=PointerLastLine'I do the shift of the tableDo While LineToCopy <> 0PointerColumn=1Do While PointerColumn < N_ColumnTable.ActiveSheet.Cells (LineToWrite,PointerColumn).Value = Table.ActiveSheet.Cells (LineToCopy,PointerColumn)PointerColumn=PointerColumn+1LoopLineToCopy=LineToCopy - 1LineToWrite=LineToWrite - 1Loop' ################################################' Close and save tableTable.DisplayAlerts = FalseTable.ActiveWorkbook.SaveTable.ActiveWorkbook.CloseTable.QuitTable.DisplayAlerts = TrueSet Table = Nothing
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora