Vai al contenuto
PLC Forum


Wincc 2007 - Script Problem


Messaggi consigliati

Inserito:

Ciao a tutti,

devo fare uno script per esportare dati in un file .csv (fino a qui tutto ok),

ma questo file dev'essere creato in diverse cartelle nel senso che la radice è questa:

/Y2008/M06/D23/miofile.csv

Vorrei naturalmente controllare se esiste il file se no creare ogni ramo del mio percorso.

usando queste righe di script solo per provare se funziona il metodo:

Set fs = CreateObject("filectl.filesystem")

If (fs.folderexists(percorso)) Then

ShowSystemAlarm ("Folder exist")

Else

fs.createfolder(percorso)

ShowSystemAlarm ("Folder created")

End If

ottengo questo errore:

Error object doesn't support this property or method: "fs.FolderExists"

Qualcuno sa aiutarmi?

Sapete dove posso trovare proprietà e metodi di FileCtl?


Inserita:

Verifica se la lunghezza del file è zero,

se è così allora crea il file e la cartella, altrimenti aggiungi righe.

pigroplc

Inserita:

ti posto qualcosa che funziona, poi il resto ce lo metti te.

Dim objFileSystem, fs, fso, a, f, objFileSize, operatore, blank, trigger, strNomeFile 'dichiara le variabili

trigger=0

SmartTags("archivio_1")=trigger 'azzera il trigger di memorizzazione report

operatore = SmartTags("nome_login_record") 'aggiorna il nome dell'operatore

'costruzione dell'header se il file non esiste

strNomeFile= "D:\Storage Card\production.xls"

' Verifica che il file esista

If S_blnEsisteFile(strNomeFile) = True Then 'il file esiste

Set objFileSystem = CreateObject("Scripting.FileSystemObject")

Set objFileSize = objFileSystem.GetFile ("D:\Storage Card\production.xls")

f = objFileSize.Size 'lettura delle dimensioni del file

Else ' il file non esiste

Call Header()'prepara header

End If

... ovviamente continua

pigroplc

Inserita:

poi c'e' questo

Dim objFileSystem

Set objFileSystem = CreateObject("Scripting.FileSystemObject")

If objFileSystem.FileExists(strFilePath) Then

S_blnEsisteFile=True

Else

S_blnEsisteFile=False

End If

come routine di verifica

pigroplc

Inserita:

Ok grazie, ma non è necessario controllare la lunghezza del file visto che aprendolo in append se non esiste lo crea altrimenti aggiunge righe ma soltanto se il percorso di destinazione esiste.

Per la creazione e il controllo dell'esistenza di file o cartelle tu hai postato CreateObject("System.filesystemobject") invece lo script funziona soltanto con CreateObject("FileCtl.filesystem") che non ha metodi come FileExist o simili.

Ma se riuscissi a trovare un . o un tutorial, qualsiasi cosa che mi spiega bene FileCtl sono convinto che risolvo i miei problemi.

Non sai dirmi niente a riguardo?

Grazie, Pedro.

Inserita:

torniamo indietro di un passo:

siccome gli script cambiano se si utilizza un pannello operatore (tipo MP377) oppure se si utilizza un PC con a bordo winxp/embedded dovresti dire cosa utilizzi.

pigroplc

Inserita:

questo va bene per i pannelli:

Dim fs, a, f, operatore, blank, trigger 'dichiara le variabili

trigger=0

SmartTags("archivio_1")=trigger 'azzera il trigger di memorizzazione report

operatore = SmartTags("nome_login") 'aggiorna il nome dell'operatore

'costruzione dell'header se il file non esiste

Set fs = CreateObject("FileCtl.File")

'verifica lunghezza file, se=0 manca il file, quindi prepara header

fs.Open "\storage card\production.xls",8

f = fs.lof

fs.Close

If (f = 0) Then Call Header()'prepara header

If (f <= 101500) Then 'controlla la lunghezza prima di scrivere

eccerera

pigroplc

Inserita:

Giusto, allora:

PC: Win XP Pro SP3

OP: Wincc 2007 HOTFIX 4

Tipo pannello: MP277 8" key

Penso esista un metodo per creare cartelle da sto benedetto FileCtl

Quello che mi preme di più per ora è questo.

Grazie, pedro.

Inserita:

Ma se faccio la Open di un path che non esiste, leggendo su internet e vari, dovrebbe crearlo invece mi da l'errore che non trova il percorso specificato.

Inserita:

una cosa è certa:

il codice che ti ho postato funziona.

pigroplc

Inserita:

Sono certo che il tuo codice funzione perchè ho provato a creare un file direttamente sulla MMC.

E solo che vorrei catalogarli per anno,mese come ho specificato all'inizio del post.

Mi basterebbe soltanto la funzione che crea le cartelle.

Tutto qui, grazie.

Se la trovi dimmelo per favore, sto venendo matto.

Inserita:

Ho trovato tutta la documentazione che cercavo.

Praticamente sono le differenze in VBScript tra un Windows normale e un WinCE.

Qui : .Differenze VBscript.

E' stato molto utile, semplice ma efficace.

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 account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...