DIAdem

cancel
Showing results for 
Search instead for 
Did you mean: 

Fkt DirLstWrite ()

... nein, funktioniert nicht. Fehlermeldung: "Type mismatch: 'Ubound'".

Ein  Paar demo.txt Dateien  habe ich erzeugt zum finden, um das Bsp zu prüfen.

Schönes We und vielen Dank für die Bereitschaft zum Helfen,

a6a

0 Kudos
Message 11 of 14
(1,408 Views)

Hallo a6a!

Immer wieder gerneSmiley Happy

Irgendwie passt das was nicht zusammen! Die UBound Fehlermeldung kann eigentlich nur kommen wenn die MsgBox mit dem TypeName NICHT 'Variant()' liefert. Darum hier mal ein etwas erweitertes Beispiel das mit deinem Aufruf kombiniert ist und jetzt auch abfängt wenn nichts gefunden wurde. Ich hab mal alles ausprobiert was mir so in den Sinn kam und konnte deinen Fehler nicht feststellen. Was nur nicht funktioniert (ohne DIAdem Fehlermeldung!) war die Ausgabe wenn die Ausgabedatei exklusiv geöffnet ist (z.B. durch Excel). Dann wird da nichts rein geschreiben, aber das ist ja nicht dein Use Case.

Kannst du mal bitte dieses Skript testen:

Option Explicit
 
dim datapath, dataname
dim vFoundFiles
dim strall
dim iCount
 
datapath = ChnPropValGet (1, "sourcedatafilepath")
dataname = ChnPropValGet (1, "sourcedatafilename")
 
vFoundFiles = DirLstWrite( datapath, dataname, "filename", "c:\\diadem\pm_sonderAction\daten.txt",0, "FullFilenames" )
 
If IsArray(vFoundFiles) Then
  For iCount = 0 to Ubound(vFoundFiles)
    strAll =  strAll & vFoundFiles(iCount) & vbCRLF
  Next
Else
  strAll = "Nichts gefunden!"
End If
 
MsgBoxDisp strAll

Matthias

Matthias Alleweldt
Project Engineer / Projektingenieur
Twigeater?  
0 Kudos
Message 12 of 14
(1,402 Views)

Morgen Matthias,

 

da habe ich Dein Skript ausprobiert. An der Line

 

vFoundFiles = DirLstWrite( datapath, dataname, "filename", "c:\diadem\pm_sonderAction\daten.txt",0, "FullFilenames" )

 

tritt die Fehlermeldung „Betriebsystem Fehler 123 aufgetreten“. Kannst Du was mit der Fehlermeldung anfangen?

 

Die Fkt DirLstWrite ist mir suspekt.

Sie hat bereits am Anfang, als ich das Skript geschrieben habe, funktioniert und ich konnte die Datei daten.txt lesen.

Als ich vor kurzen wieder mal das Skript ausführen musste, wurde diese Datei nicht mehr erstellt. Dann bei der Fehlersuche habe ich ein MSgBox eingefügt und kann sehen, welche Messdateien geöffnet werden zum lesen, allerdings werden sie nicht in die dataen.txt geschrieben. Diese History kann ich nicht nachvollziehen. Ich habe nichts am Skript verändert.

 

Hoffentlich hilft es Dir beim überlegen,

a6a

0 Kudos
Message 13 of 14
(1,394 Views)
Guten Morgen a6a!
 
Die Beschreibung zur Fehlernummer ist 'Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch.'. Davon ausgehend das der Pfad so vorhanden ist, ist mir der Grund für den Fehler wirklich unklar. Kannst du mal testweise 'C:\daten.txt' einsetzen.
 
Ich muss gestehen das ich vor vielen Jahren einen eigenen GPI Befehl für diese Aufgabe programmiert habe, da für unsere Anforderungen DirLstWrite nicht genügte (d.h. er funktioniete aber!). Seit dem verwende ich nur noch die eigene Funktion, hab da also nicht so ganz die Praxiserfahrungen mit noch alles geht. Sollte aber eigentlich wie dokumentiert funktionieren.
 
Matthias
 
 
Matthias Alleweldt
Project Engineer / Projektingenieur
Twigeater?  
0 Kudos
Message 14 of 14
(1,392 Views)