Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

... for output as = ???





Frage

Guten Morgen! Der VBA-Code ... open [i]meine Variable[/i] for output as #F speichert eine Datei im csv-Format. Welchen Parameter muss ich mitgegen, damit die Datei im xls-Format gespeichert wird? Gibt es eine diebezüglich Aufstellung der Typen? Thanx Tom

Antwort 1 von Tomschi

Hi!

Noch eine Frage dazu:
#4 = csv-Format
#1 = txt-Format

Ist das richtig?

Gibt s noch andere "#?-Angaben" welche bestimmten Formaten entsprechen?

Bye

Tom

Antwort 2 von lleopard

Hi Tom,

ohne langes Gerede...

xls hat keinen Parameter

open meine Variable for output as #F

#f is oder sollte ein freies File sein. freefile ist meistens 1, wenn man alle anderen vorher sauber geschlossen hat.

meine Variable Sollte Pfad und Dateiname sein. Klar kannste da auch sagen c:\meineTabelle.xls, aber ob Excel damit was anfangen kann? Glaub ich weniger! Außerdem gibt es in den Verweisen eine Schnittstelle zu deiner Excel-Applikation. Versuchs doch mal damit.

dim oExc as Excel.Application

...

Set oExc = GetObject(, "Excel.Application ")

With oExcel
Randomize
.Visible = False

On Error Resume Next
.Workbooks.Open Pfad & Dateiname

end with

So kommste besser weiter, denke ich...

Hier mal das was Access zu dem Thema Open sagt:

In diesem Beispiel werden verschiedene Einsatzmöglichkeiten der Open-Anweisung veranschaulicht, um Ein-/Ausgabeoperationen auf Dateien durchzuführen.
Der folgende Code öffnet die Datei DATEI1 für sequentielle Eingaben.

Open "DATEI1" For Input As #1
' Datei schließen, bevor sie in einem anderen Modus erneut
' geöffnet wird.
Close #1

Dieses Beispiel öffnet die Datei im Modus Binary und ausschließlich für Schreiboperationen.

Open "DATEI1" For Binary Access Write As #1
' Datei schließen, bevor sie in einem anderen Modus erneut
' geöffnet wird.
Close #1

Das folgende Beispiel öffnet die Datei mit wahlfreiem Zugriff. Die Datei enthält Datensätze des benutzerdefinierten Typs Datensatz.

Type Datensatz ' Datentyp definieren.
Kennung As Integer
Name As String * 20
End Type

Dim DSatz1 As Datensatz ' Variable deklarieren.
Open "DATEI1" For Random As #1 Len = Len(DSatz1)
' Datei schließen, bevor sie in einem anderen Modus erneut
' geöffnet wird.
Close #1

Dieses Codebeispiel öffnet die Datei für sequentielle Ausgaben. Alle Prozesse können Lese- und Schreiboperationen auf der Datei ausführen.

Open "DATEI1" For Output Shared As #1
' Datei schließen, bevor sie in einem anderen Modus erneut
' geöffnet wird.
Close #1

Dieses Codebeispiel öffnet die Datei im Modus Binary für Lesezugriffe. Andere Prozesse können die Datei nicht lesen.

Open "DATEI1" For Binary Access Read Lock Read As #1


Wenn du das sorgfältig gelesen hast, wirst du feststellen, daß man sich mit open Schreib- und/oder Lesezugriff auf eine Datei verschafft oder eine neue Datei erzeugt.

Ich denke nicht, daß du weißt - ich weiß es auch nicht! - was man alles in eine xls-datei schreiben muß, damit Excel damit was anfangen kann... Dafür gibt es aber auch den Befehl


DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel97, Tabname, FileName, HasfieldNames, Range, UseOA

acSpreadsheetTypeExcel97 kann durch 8 ersetzt werden ...

Gruß Leo

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: