Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1676to1680
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
Inhaltsverzeichnis

open-Anweisung

open-Anweisung
04.03.2019 11:35:33
kuro
Hallo zusammen,
leider habe ich ein kleines Problem, das ich nicht zum Lösen bring.
Aktuell öffne ich eine Datei mit der open-Anweisung um Datensätze mit Print an zu fügen.
Open (filename + ".csv") For Append As #1
Print #1, "ID"; ";";
Print #1, "Name"; ";";
.
.
.
Close #1
Nun meine Frage:
Ist es möglich den Tabellennahme dort zu verändern, oder muss ich explizit die Arbeitsmappe öffnen um den Sheetnamen zu ändern?

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: open-Anweisung
04.03.2019 11:50:50
Karl-Heinz
Hallo Kuro,
Du öffnest eine CSV-Datei im Direktzugriff (hier Append). Eine CSV-Datei ist auch nur eine Textdatei. Dort gibt es keine Tabellennamen. Es ist nur Text.
Wenn Du sie per Excel öffnest, wird eine Tabelle benötigt. Diese wird von Excel wie der Dateiname benannt. Diese kann man nach Öffnen durch Excel auch umbenennen. Das ist aber völlig sinnlos, weil sie beim Speichern der CSV-Datei wieder verloren geht.
viele Grüße
Karl-Heinz
AW: open-Anweisung
04.03.2019 12:08:41
kuro
Hallo Karl-Heinz,
vielen Dank für die Info.
Da ich die csv-Datei sowieso als xlsx speichern muss, werde ich dort beim speichern den Namen ändern.
Hat eventuell jemand Erfahrung damit aus dem VBA eine XLSX-Datei zu generieren und diese mit Datensätzen zu beschreiben, meine versuche waren leider vergeblich, deshalb benutze ich den vorhanden Weg über die CSV-Datei.
Nochmals Danke Karl-Heinz
Gr. kuro
Anzeige
AW: open-Anweisung
04.03.2019 13:12:45
guennih
Wenn Du eine neue Datei erzeugen und mit Daten Füllen willst, grht das mit
Workbooks.Add
Du musst dann natürlich in Deinem Makro dafür sorgen, dass Du mit den Befehlen jeweils auf die richtige Datei zugreift

Public Sub NeueDatei_speichern()
Dim OldBook As Workbook
Dim OldName As String
Dim NewBook As Workbook
Dim NewName As String
Dim NewSheet As Worksheet
Dim FName, j, i
Set OldBook = ActiveWorkbook
OldName = ActiveWorkbook.FullName
Application.Workbooks.Add
Set NewBook = ActiveWorkbook
set NewSheet = activeSheet
for i=1 to 9
for j = 1 to 5
newsheet.cells(j,i)=j*i
next
next
FName = Application.GetSaveAsFilename
Loop Until FName  False
newbook.SaveAs Filename:=FName
End Sub

Anzeige
AW: open-Anweisung
04.03.2019 15:22:51
kuro
Hallo gunnih,
aktuell wird wie unten gezeigt die Date beschrieben. Wenn ich nun aber anstatt ".csv", ".xlsx" als Dateiendung eintrage, erhalte ich beim öffnen der Datei den Fehler das die Dateiendung nicht mit dem Dateiformat übereinstimmt.

path_ziel = ActiveWorkbook.Path + "\EXPORT"
On Error Resume Next
MkDir path_ziel
On Error GoTo 0
If OpenModusAppend Then
filename = Worksheets(tabname_prg).Cells(c_row_file_ges_TIA, c_col_dateiname) 'Filenamen  _
Gesamt laden
Else
filename = Worksheets(tabname_prg).Cells(c_row_file_allg, c_col_dateiname) 'Filenamen für  _
FText laden
End If
If Len(Trim(filename)) > 0 Then
filename = path_ziel + "\" + filename
On Error GoTo expFTAErr1
If OpenModusAppend Then
Open (filename + ".csv") For Append As #1 ' Datei zur Ausgabe öffnen.
Else
Open (filename + ".csv") For Output As #1 ' Datei zur Ausgabe öffnen.
End If
On Error GoTo 0
tabstart = 10
tabline = 0
Tabname = tabnameHLPFTA 'Datenquelle setzen
Worksheets(tabname_prg).Cells(r_dg_stat + 1, c_dg1) = "Export FTA gestartet !"
If Worksheets(Tabname).Cells(tabstart, 1).Value > 0 Then  'wenn Störtexte erkennbar
Do While Worksheets(Tabname).Cells(tabstart + tabline, 1).Value > 0 'solange Störtexte  _
erkennbar
Worksheets(tabname_prg).Cells(r_dg_stat + 1, c_dg2) = tabline
tabcolmax = 1 '24 'Anzahl Spalten bis Text
p_textde = 27 'Start der Textspalten
p_sprache = 0 'Pointer auf Sprache
For tabcol = 1 To tabcolmax
' Statusauswertung
If (Trim(Worksheets(Tabname).Cells(tabstart + tabline, 5)) = "A") Then alrtyp = "Alarm"  _
Else alrtyp = "Meldung"
If (Trim(Worksheets(Tabname).Cells(tabstart + tabline, 20)) = "") Then
ausloser = ""
Else: ausloser = Trim(Worksheets(Tabname).Cells(tabstart + tabline, 20))
End If
If (Trim(Worksheets(Tabname).Cells(tabstart + tabline, 21)) = "") Then
auslbit = 0
Else: auslbit = Trim(Worksheets(Tabname).Cells(tabstart + tabline, 21))
End If
'ExportTabelle erzeugen (CSV)
Print #1, Trim(Worksheets(Tabname).Cells(tabstart + tabline, 1)) + ";";  'Alarmnummer
Print #1, "AlrAllg_" + Trim(Worksheets(Tabname).Cells(tabstart + tabline, 1)) + ";";  '  _
Name
Print #1, Chr(34) + Trim(Worksheets(Tabname).Cells(tabstart + tabline, p_textde)) + Chr( _
34) + ";"; 'Störtext
Print #1, Trim(Worksheets(Tabname).Cells(tabstart + tabline, 2)) + ";";   'Dafaulttext
Print #1, alrtyp; ";"; 'Alarmtyp
Print #1, ausloser; ";"; 'Auslöser
Print #1, auslbit; ";"; 'Auslösebit
Print #1, "" + ";";
Print #1, "0" + ";";
Print #1, "" + ";";
Print #1, "0" + ";";
Print #1, "" + ";";
Print #1, "True" + ";";
Print #1, "" + ";";
Next tabcol
tabline = tabline + 1
If Worksheets(Tabname).Cells(tabstart + tabline, 1).Value > 0 Then Print #1, ""
Loop
Worksheets(tabname_prg).Cells(r_dg_stat + 1, c_dg1) = "Export FTA beendet !"
Else
fehler = True
Worksheets(tabname_prg).Cells(r_dg_stat + 1, c_dg1) = "Fehler: HlpFTA enthält keine Daten !" _
End If
Print #1, ""
Close #1

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige