Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
568to572
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
568to572
568to572
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA geöffnete datei an anderen sub übergeben

VBA geöffnete datei an anderen sub übergeben
18.02.2005 14:15:14
moritz
hallo zusammen, ich habe in einem

Sub eine datei zum schreiben geöffnet. nun möchte ich in mehreren vorgängen daten in der datei speichern, dies soll durch aufruf einer anderen funktion geschehen.
wie kann ich in der aufgerufenen funktion auf die geöffnete datei aus dem ersten 

Sub zugreifen, ohne die datei schließen und wieder öffnen zu müssen?

Sub Basis()
FileNum = FreeFile
Open File1Name For Output As #FileNum
' Aufruf der Funktion
Schreibfunktion()
Close #FileNum
End Sub


Function Schreibfunktion() as blabla
Print #FileNum, ""
End Function

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA geöffnete datei an anderen sub übergeben
Jan
Schon mit Application.Run probiert?
mfg Jan
AW: VBA geöffnete datei an anderen sub übergeben
18.02.2005 14:56:05
moritz
Hallo, 'Application.Run' dient meines Wissens nach zum ausführen eines Makros, wüßte also nicht inwiefern mich das weiterbringen würde.
Nochmal zum Ablauf: in dem Sub "Basis" öffne ich eine neue Datei #FileNum. Die Funktion "Schreibfunktion" wird aufgerufen, diese soll in die Datei #FileNum ein paar Zeichen mit Print schreiben. Leider funktioniert das nicht, die Datei bleibt 0 Bytes groß, ich bekomme aber auch keine Fehlermeldung. Ich vermute einfach dass die Funktion "Schreibfunktion" keinen Zugriff auf die Datei #FileNum hat. Die Funktion "Schreibfunktion" soll jedoch mehrmals hintereinander aus dem Sub "Basis" aufgerufen werden können, ohne dass die Datei #FileNum jedesmal geöffnet und geschlossen werden soll.
Anzeige
AW: VBA geöffnete datei an anderen sub übergeben
Jan
"Hallo, 'Application.Run' dient meines Wissens...."
Sieh dir die Hilfe dazu an.
Habe jetzt Feierabend.
mfg Jan
AW: VBA geöffnete datei an anderen sub übergeben
18.02.2005 15:05:34
moritz
Das hier steht in der Hilfe zu Makro.Run:
"Führt ein Makro aus oder ruft eine Funktion auf. ..."
Ich hab nicht das Problem ein Makro aufzurufen, daher verstehe ich deine Antwort nicht. Mein Problem ist, dass ich auf eine in einem Sub geöffnete Datei in einem anderen Sub zugreifen möchte. Alles innerhalb VBA! Sub "Basis" ruft (call) Sub bzw. Function "Schreibfunktion" auf. "Schreibfunktion" soll in eine Datei mit Print schreiben die in "Basis" als #FileNum geöffnet wurde. Innerhalb des Sub "Basis" funktioniert das.
Bis zum Feierabend dauert es bei mir noch ein bischen :-(
Anzeige
AW: VBA geöffnete datei an anderen sub übergeben
Reinhold
Hallo moritz,
bei mir tut's so:

Sub sMain()
Open "c:\Daten\TestDatei" For Output As #1
sWrite "abcdef"
sWrite "12345"
sWrite "1234523412341234"
Close #1
End Sub


Sub sWrite(str As String)
Print #1, str
End Sub

Grüße Reinhold
hmm... es klappt
moritz
Jetzt bin ich etwas durcheinander, nachdem ich #FileNum durch #1 ersetzt habe, funktioniert es bei mir auch. Mir ist nur nicht so ganz klar warum... aber Hauptsache es läuft. Danke!
AW: hmm... es klappt
Reinhold
Hallo Moritz,
Wenn du FileNum verwenden willst, musst du FileNum als Parameter übergeben, z.B.

Sub sMain()
Dim filenum
filenum = FreeFile
Open "c:\Daten\TestDatei" For Output As #filenum
sWrite filenum, "asdfasdlfkasl döfklöasd"
Close #filenum
End Sub


Sub sWrite(filenum, str As String)
Print #filenum, str
End Sub

Grüße Reinhold
Anzeige
Danke geschlossen
18.02.2005 15:47:54
moritz
Danke!

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige