2 VBA Makro Probleme

Aber Du möchtest ja drei feste Pfade verwenden, dann würde ich
das so schreiben:

Dim Pfad(2) As String
Dim i As Integer
Dim intFree As Integer

Pfad(0) = „DerErstePfad“
Pfad(1) = „DerZweitePfad“
Pfad(2) = „DerDrittePfad“

For i = 0 To 2
intFree = FreeFile
Open Pfad(i) & „test.txt“ For Output As #intFree
Print #intFree, Daten
Close #IntFree
Next

Gruß Rainer

Moin,
erst mal Danke für den Code, ich denke das er soweit funktioniert
aber,
ich habe jetzt das Problem, welches ich mit anderen einfachen SaveAs-Codes auch schon hatte.
Der angezeigte Laufzeitfehler „52 - Dateiname oder-Nummer Falsch“,
und markiert wird immer die Zeile:
Print #1, „#Generatet by TPoppe#“; Now

den Code Zeige ich noch mal hier:

Dim Zei As Long, Satz As String, intFree As Integer, Datei As Boolean
Dim Pfad(2) As String
Dim i As Integer


Pfad(0) = "C:\RE50.8\Berechnung Lasten\"
Pfad(1) = "C:\RE50.8\RE50.8FOCUS\MACROS\"


For i = 0 To 2
 intFree = FreeFile
 Open Pfad(i) & "test.txt" For Output As #intFree
 Print #intFree, Datei
 Close #intFree
 Next
 Print #1, "#Generatet by TPoppe#"; Now
 Print #1, "#Postprocessing to calc tip deflection for static load"
 Print #1, "#output redirected to static\_deflection.txt"
 Print #1, "#-------------------------------------------------------"
 Print #1, ""
 Print #1, "#edge max"
 Print #1, ""
 Print #1, "DEF MACRO BUFFER\test\_edgemax.mac"
 Print #1, ""
 Print #1, "STATIC LOAD /MOMENT"
 For Zei = 186 To 239
 ...
 ...

Diese Probleme hatte ich bei Speichercodes bisher nicht :frowning:
thx for help
lg torre

Hallo,

ich habe jetzt das Problem, welches ich mit anderen einfachen
SaveAs-Codes auch schon hatte.

For i = 0 To 2
intFree = FreeFile
Open Pfad(i) & „test.txt“ For Output As #intFree

Open öffnet die Datei zum schreiben.

Print #intFree, Datei
Close #intFree

Close schließt die Datei wieder, Schreiben beendet.

Next
Print #1, „#Generatet by TPoppe#“; Now

Und nun willst Du wieder in die Datei schreiben, die schon geschlossen ist. Das kann nicht gehen. (#1 ist übrigens auch falsch, wenn Du mit #intFree öffnest) Die Schreibbefehle müssen vor das Close #intFree.

Gruß Rainer

Hallo,
schön das Du so schnell geantwortest hast.
„Next“ habe ich eingefügt, nachdem ich Deinen Code ausprobiert habe und die Meldung „For ohne Next“ kam.
Die Zeile:
Print #1, …
und alles was dann folgt, ist Text, der neben der zu exportierenden Daten mit im Textfile vorkommen muss, da ein folgendes externes Programm diese Daten einliest (Zuordnung).
so sieht eine .txt Dat. dann aus (nur die ersten Zeilen):

#Generatet by TPoppe#31.07.2008 15:17:19
#Postprocessing to calc tip deflection for static load
#output redirected to static_deflection.txt
#-------------------------------------------------------

#edge max

DEF MACRO BUFFER\test_edgemax.mac

STATIC LOAD /MOMENT
0000 5.8089E+09-2.709E+09
1251 5.8089E+09-2.709E+09
3250 5.3798E+09-2.509E+09

Musste gerade feststellen, dass test.txt in die beiden von mir angegebenen Ordnern gespeichert wurde, der Textinhalt sich aber auf ein „Falsch“ in der oberen linken Ecke beschränkte.

evtl. helfen Dir diese Infos.
lg torre

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo TOPO,

„Next“ habe ich eingefügt, nachdem ich Deinen Code ausprobiert
habe und die Meldung „For ohne Next“ kam.

Das war ja auch nur ein Beispiel.
Die Zeile

Print #intFree, Daten

Musst du natürlich durch Deinen Code ersetzen, ich weiß doch nicht, was Du in die Datei schreiben willst, ob da meherer zeilen Code kommen oder ob Du den Text erst zusammensetzt und dann im Stück schreibst …

Die Zeile:
Print #1, …
und alles was dann folgt, ist Text, der neben der zu
exportierenden Daten mit im Textfile vorkommen muss, da ein
folgendes externes Programm diese Daten einliest (Zuordnung).
so sieht eine .txt Dat. dann aus (nur die ersten Zeilen):

#Generatet by TPoppe#31.07.2008 15:17:19
#Postprocessing to calc tip deflection for static load
#output redirected to static_deflection.txt
#-------------------------------------------------------

#edge max

DEF MACRO BUFFER\test_edgemax.mac

STATIC LOAD /MOMENT
0000 5.8089E+09-2.709E+09
1251 5.8089E+09-2.709E+09
3250 5.3798E+09-2.509E+09

Musste gerade feststellen, dass test.txt in die beiden von mir
angegebenen Ordnern gespeichert wurde, der Textinhalt sich
aber auf ein „Falsch“ in der oberen linken Ecke beschränkte.

Ja, Du hast den Code einfach unverändert laufen lassen, in der Variablen ‚Daten‘ stand nichts und das hat VB in die Datei geschrieben.

An der Stelle, wo jetzt noch diese leere Variable in das File geschrieben wird, musst Du Deine ganzen befehle einfügen und #1 durch #intFree ersetzen, dann wird der Inhalt wohl aussehen, wie gewollt.

Fertig ist der Code, den Du von mir bekommst natürlich nicht, das kann er nicht sein, dafür fehlen mir viel zu vile Informationen. Um mich da hineinzudenken habe ich vorläufig auch keine Zeit, ich habe noch ein paar andere Projekte offen an denen ich arbeite, meine Kapazität ist im Moment erschöpft, ich auch ein wenig. :smile:

Gruß Rainer

Ich nochmal,
Da ich auch gleich ins wohlverdiente WE entschwinde, Danke ich Dir für Deine Unterstützung und wünsche Dir ein ebenfalls erhohlsames.
Gruß Torre

Hi Torre,

wenn Du das so noch nicht zum Laufen bekommst, poste dann einfach die gesamte Prozedur. Vollständig! Dann kann man die umschreiben und die Fehler entfernen. Wenn nur Bruchstücke vorliegen geht das nicht.

Dir auch ein schönes WE! :smile:

Gruß Rainer