Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1540to1544
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

Eine Excel Arbeitsmappe abspeichern

Eine Excel Arbeitsmappe abspeichern
14.02.2017 08:27:51
Franky

Guten Morgen zusammen :)
Ich habe heute morgen folgendes Problem, und zwar würde ich gerne eine Excel Arbeitsmappe über VBA abspeichern.
Die Datei soll im Dateinamen einen Gewissen Zelleninhalt haben, also wenn in der Zelle B4 "Wareneingang" steht, dann soll auch im Dateinamen "..._Wareneingang_.." stehen.
Hier mal mein Code:

Sub Speichern_Schicht1()
Dim Dateiname As String
Dim KW As Integer
Dim Abteilung As String
KW = ActiveSheet.Range(B3).Value
Abteilung = ActiveSheet.Range(B4).Value
Dateiname = "Schichtbetrieb_Logistik_" & Abteilung & "Schicht1_KW_" & KW & "_KW0" & ".xlsx"
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & Dateiname, FileFormat:= _
xlOpenXMLWorkbook, CreateBackup:=False
Application.DisplayAlerts = True
End Sub
Bekomme da aber einfach nur eine Fehlermeldung in der 400 steht.
Was mach ich falsch?
Und hätte noch eine weitere kleine frage:
Ist es möglich über einen Button in der Excell Arbeitsmappe eine Email über Lotus Notes zu verschicken?
Vielen Dank schonmal :)
Gruß, Franky

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Eine Excel Arbeitsmappe abspeichern
14.02.2017 09:03:02
Werner
Hallo Franky,
dein Dateiname ist zu lang, maximal 31 Zeichen.
Gruß Werner
AW: Eine Excel Arbeitsmappe abspeichern
14.02.2017 09:13:21
Dome
Hi Franky,
Zu "als Email versenden" kann ich Dir helfen.
Vorarbeit:
- Button erstellen
- Rechtsklick "Code anzeigen"
- Code reinkopieren
- Feld "CC_Field" erstellen (irgendeine Zelle auswählen und entsprechend benennen)
Mit Klick auf den Button sollte es funktionieren.

Private Sub CommandButton1_Click()
Dim emailAddress As String
Application.DisplayAlerts = False
emailAddress = [CC_Field]
ThisWorkbook.Worksheets("Tabelle1").Copy
With ActiveWorkbook
.SendMail Recipients:=emailAddress, Subject:="Pendenzenliste" 'Name geben, muss nicht  _
Pendenzenliste heissen
.Close
End With
Application.DisplayAlerts = True
End Sub

Anzeige
AW: Eine Excel Arbeitsmappe abspeichern
14.02.2017 10:05:25
Franky
Vielen dank für die schnelle Hilfe!
Das mit der Email probiere ich jetzt mal aus.
Gruß Franky
AW: Eine Excel Arbeitsmappe abspeichern
14.02.2017 10:18:00
Franky
Hallo Dome, Hallo zusammen,
ich hätte nochmal eine kleine Frage wegen dem Email versenden, und zwar wie kann ich da eine bestimmte Datei als Anhang mit anhängen? Also Mit Dateipfad und so.
Und ich hätte gerne einen Festgelegten Text, der bereits in der Email steht.
Wie würde das gehen?
Und wenn ich mehrere Email Adressen reinschreiben möchte, trenne ich die einfach in dem CC_Field mit einem ";"?
Vielen Dank schonmal :)
Gruß,
Franky
AW: Eine Excel Arbeitsmappe abspeichern
14.02.2017 11:16:38
Dome
Hi Franky,
Irgendwie bekomme ich einen Body-Text in obigen Code zu integrieren.
Der neue Code kanns, allerdings verschickt auch dieser nur das bestehende Dokument.
Mehrere Empfänger einfach mit ; trennen.

Option Explicit
Const EMBED_ATTACHMENT As Long = 1454
Const stPath As String = "...." 'hier sollte ein sep Dokument hergeholt werden können
Const stSubject As String = "Wochenreport"
Const vaMsg As Variant = "Wie versprochen der Wochenreport." & vbCrLf & _
"Beste Grüsse," & vbCrLf & _
"DH"
Const vaCopyTo As Variant = "......."
Sub Send_Active_Sheet()
Dim stFileName As String
Dim vaRecipients As Variant
Dim noSession As Object
Dim noDatabase As Object
Dim noDocument As Object
Dim noEmbedObject As Object
Dim noAttachment As Object
Dim stAttachment As String
With ActiveSheet
.Copy
stFileName = .Range("A1").Value
End With
stAttachment = stPath & "\" & stFileName & ".xls"
With ActiveWorkbook
.SaveAs stAttachment
.Close
End With
vaRecipients = VBA.Array(".....") 'Empfänger
Set noSession = CreateObject("Notes.NotesSession")
Set noDatabase = noSession.GETDATABASE("", "")
If noDatabase.IsOpen = False Then noDatabase.OPENMAIL
Set noDocument = noDatabase.CreateDocument
Set noAttachment = noDocument.CreateRichTextItem("stAttachment")
Set noEmbedObject = noAttachment.EmbedObject(EMBED_ATTACHMENT, "", stAttachment)
With noDocument
.Form = "Memo"
.SendTo = vaRecipients
.CopyTo = vaCopyTo
.Subject = stSubject
.Body = vaMsg
.SaveMessageOnSend = True
.PostedDate = Now()
.Send 0, vaRecipients
End With
Kill stAttachment
Set noEmbedObject = Nothing
Set noAttachment = Nothing
Set noDocument = Nothing
Set noDatabase = Nothing
Set noSession = Nothing
MsgBox "The e-mail has successfully been created and distributed", vbInformation
End Sub

Anzeige
AW: Eine Excel Arbeitsmappe abspeichern
14.02.2017 13:27:00
Franky
Hi Dome,
klasse, vielen dank.
Grüße Franky

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige