Anzeige
Archiv - Navigation
1176to1180
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

csv mit semikolon temporär erstellen + verschicken

csv mit semikolon temporär erstellen + verschicken
Peter
Hallo,
ich möchte eine csv-Datei temporär erstellen und per outlook verschicken, Trennzeichen muss ein Semikolon sein. Habe folgenden Code (Auszug), aber leider bekomme ich immer ein Komma als Trenner:
'CSV-Datei versenden
Dim strMailEmpfaenger As String
i = Application.ActiveWorkbook.Path
strMailEmpfaenger = "xxx@yyy.com"
strTempName = Sheets("Makro").Cells(5, 8).Value
Sheets("Output").Copy , (";")
ChDir i
'AlsTextSpeichern (strTempName)
ActiveWorkbook.SaveAs Filename:=i & "\" & strTempName, FileFormat:=xlCSV, _
CreateBackup:=False, TextCodePage:=850, local:=True
If Application.MailSystem xlNoMailSystem Then
Application.ActiveWorkbook.SendMail strMailEmpfaenger, "SAP-Upload LogCon", False
End If
ActiveWorkbook.Close False
'Die temporär erstellte Arbeitsmappe wieder löschen
Kill i & "\" & strTempName & ".csv"
Habt ihr einen Tipp? Ich möchte gerne die Ländereinstellungen außer Acht lassen, da meine Datei von verschiedenen Usern in mehreren Ländern genutzt werden soll.
Danke vorab!
Peter

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: csv mit semikolon temporär erstellen + verschicken
29.09.2010 11:52:37
Tino
Hallo,
kannst mal so versuchen.
Bei Export_CSV ... musst Du die Tabelle noch engeben die als csv exportiert werden soll.
Sub Mail_CSV()
Dim csvFullName$
Dim strMailEmpfaenger As String
'Delimiter angeben 
Const sDelimiter$ = ","

strMailEmpfaenger = "xxx@yyy.com"

csvFullName = ThisWorkbook.Path
If Right$(csvFullName, 1) <> "\" Then csvFullName = csvFullName & "\"
csvFullName = csvFullName & "Mail_CSV.csv"

Application.ScreenUpdating = False

'CSV erstellen 
'sDelimiter, Datei, Tabelle 
Export_CSV sDelimiter, csvFullName, ThisWorkbook.Sheets("Tabelle1")

Workbooks.Open Filename:=csvFullName
If Application.MailSystem <> xlNoMailSystem Then
    Application.ActiveWorkbook.SendMail strMailEmpfaenger, "SAP-Upload LogCon", False
End If
ActiveWorkbook.Close False

If Dir(csvFullName, vbNormal) <> "" Then
    Kill csvFullName
End If

Application.ScreenUpdating = True
End Sub

Sub Export_CSV(sDelimiter As String, strDatei As String, oTabelle As Worksheet)
Dim rngBereich As Range, strString$
Dim F As Integer
'löschen wenn vorhanden 
If Dir(strDatei, vbNormal) <> "" Then
    Kill strDatei
    DoEvents
End If

Set rngBereich = oTabelle.UsedRange
F = FreeFile
Open strDatei For Append As #F
With Application
    If rngBereich.Columns.Count > 1 Then
        For Each rngBereich In rngBereich.Rows
            strString = Join(.Transpose(.Transpose(rngBereich)), sDelimiter)
            Print #F, strString
        Next rngBereich
    Else
        For Each rngBereich In rngBereich.Rows
            Print #F, rngBereich.Value
        Next rngBereich
    End If
End With
Close #F
End Sub
Gruß Tino
Anzeige
bei Const sDelimiter noch Semikolon angeben oT.
29.09.2010 11:54:12
Tino
AW: bei Const sDelimiter noch Semikolon angeben oT.
29.09.2010 12:52:16
Peter
Danke! Hast mir sehr geholfen!
Gruß,
Peter

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige