Support Forum

[Frage] Kann man per VBScript Daten aus einer externen CSV-Datei auslesen?

Schlagworte:

Guten Morgen.

Für einen Geschosswohnungsbau müssen wir Verkaufspläne für jede einzelne Wohnung erstellen, bei denen im Plankopf diverse Flächenangaben gemacht werden. Diese würde ich gerne möglichst automatisiert aus dem Modell in die Pläne übertragen und eine Idee wäre, einen Flächenreport aus dem Modell im CSV-Format zu erstellen und auf diese CSV-Datei dann über eine VBS-Formel im Plankopf zuzugreifen.
Leider habe ich kaum Erfahrung mit VBscript und mein kleines zusammengegoogeltes Testscript scheitert schon im Ansatz:

Function flaechen(whgnummer)

		Set objFileToRead = CreateObject(“Scripting.FileSystemObject”).OpenTextFile(“test.txt”,1)
		strFileText = objFileToRead.ReadAll()
		objFileToRead.Close
		Set objFileToRead = Nothing
 
		flaechen = whgnummer & vbCr & strFileText
			  
End Function

Hat hier jemand schonmal etwas ähnliches versucht?
Unter welchem Pfad muss ich die CSV-Datei ablegen? /std/vbs?

Ein Problem ist auch, dass ich überhauptkeine Fehlermeldung bekomme und alle VBS-Formeln in meinem Plankopf nicht mehr ausgeführt werden.
Hat jemand einen heissen Tip zur Fehlersuche in VBS-Scripts? Gibt es irgendwo ein Log?
In Allplan-Trace steht nichts auffälliges.

lg,
Stefan

GEA Arquitectos S.L.P.
Calle Gerardo Diego 6A | 41013 Sevilla | Spain

Ein sehr ambitioniertes Vorhaben. Aber leider gibt es keinerlei Debugging-Möglichkeit beim vbs-Script. Das Script functons.vbs wird bei jedem Funktionsaufruf eingelesen und compiliert. Wenn dabei Syntax- oder Laufzeitfehler auftreten, funktionieren alle Funktionen des Scripts nicht mehr.

Zu Deinem Script folgende Hinweise:
-Variablen im Script müssen deklariert werden mit z.B. Dim strFileText
-Beim Dateinamen muss der komplette Dateipfad angegeben werden.
-das FileSystemObject muss deklariert werden, und nach der Erzeugung mit CreateObject in einer Variablen abgelegt werden.
-ReadAll generiert meines Wissens nach ein Array von Strings (jede Zeile ist ein String!) Also kann man auf dieses Array nur mit z.B. strFileText(0) zugreifen.

Ich würde das nicht mit einem vbs-Scrpt lösen. Am besten die gewünschten Informationen direkt in einem oder mehreren Attributen ablegen, und dann mit einem Beschriftungsbild beschriften.

Beim vbs-Script wirst Du scheitern, genau wie ich schon so oft! Ohne Debugging braucht man mit Trial-and-Error sehr lange, bis das Script das macht, was es soll!

Vielen Dank für Deine Antwort und die Hinweise zur Syntax.
Nach einem Nachmittag voller weiterer Fehlversuche, nehme ich mir jetzt Deinen Ratschlag zu Herzen, das anders anzugehen. :-)

lg,
Stefan

GEA Arquitectos S.L.P.
Calle Gerardo Diego 6A | 41013 Sevilla | Spain


Verwendung von Cookies:
Um die Webseite optimal gestalten und fortlaufend verbessern zu können, verwendet Allplan Cookies.
Durch die weitere Nutzung der Webseite erklären Sie sich mit der Verwendung von Cookies einverstanden.  -  Mehr Informationen

Schließen