Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Exceldokument speichern

Forumthread: Exceldokument speichern

Exceldokument speichern
14.11.2006 16:57:36
Nico
Hallo Gemeinde,
ich würde mich über Eure Hilfe sehr freuen! Mein Anliegen ist sicher nicht all zu kompliziert?! Meine Frage an Euch ist, wie könnte der Quellcode zum abspeichern meines Dokumentes aussehen, wenn ich folgendes möchte:
1. Den Dateinamen in einer Zelle festlegen und abfragen.
2. Den Dateipfad in einer Zelle festlegen und abfragen.
3. Das Dokument soll unter dem abgefragten Namen und Pfad gespeichert werden.
4. Ich möchte nicht, dass das Windows - Abfragefenster geöffnet wird.
5. Perfekt wäre es, wenn das Dokument gedruckt und gespeichert wird
Das alles über Betätigung einer Schaltfläche.
Mein Makro über Recorder und etwas angepasst . . .

Sub drucka()
Application.ActivePrinter = "Microsoft Office Document Image Writer auf Ne00:"
Sheets("Tabelle1").PrintOut Copies:=1, ActivePrinter:= _
"Microsoft Office Document Image Writer auf Ne00:", Collate:=True
End Sub

Hoffe, dass das Makro nicht all zu viel Arbeit macht und ich von Euch eine Antwort bekommen!
Grüße Nico
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Exceldokument speichern
15.11.2006 00:05:42
fcs
Hallo Nico,
im nachfolgenden Code muss du noch die Zelladressen für Pfad und Dateinamen anpassen.
Der Button Code gilt, wenn du im Blatt den Button aus der Symbolleiste "Steuerelemente Toolbox" verwendest.
Falls du die Sicherheitsabfrage (Überschreiben vorhandene Datei) beim 2. und weiteren Speichern nicht angezeigt bekommen möchtest, dann die beiden als Anmerkungen markierten Zeilen zu Befehlszeilen machen.
Gruss
Franz

Private Sub CommandButton1_Click()
Call Speichern
Call drucka
End Sub
Sub Speichern()
Dim Pfad As String, Dateiname As String
Pfad = Worksheets("Tabelle1").Range("B1") 'z.B C:\Test
Dateiname = Worksheets("Tabelle1").Range("B2") 'z.B testdatei.xls
'  Application.DisplayAlerts = False
ActiveWorkbook.SaveAs FileName:=Pfad & "\" & Dateiname
'  Application.DisplayAlerts = True
End Sub
Sub drucka()
Application.ActivePrinter = "Microsoft Office Document Image Writer auf Ne00:"
Sheets("Tabelle1").PrintOut Copies:=1, ActivePrinter:= _
"Microsoft Office Document Image Writer auf Ne00:", Collate:=True
End Sub

Anzeige
AW: Exceldokument speichern
15.11.2006 09:59:29
Nico
Hallo und vielen Dank für die schnelle Hilfe.
Ich habe probiert . . . und soweit geht das speichern und drucken! But ich möchte gern, dass der Windows print, entspricht einem Ausdruck in eine Datei ähnlich PDF, nicht mehr gefragt werden, wo und unter welchem Namen ich das File speichern soll. Der Speicherort und name sollten durch die Abfrage vorgegeben werden.
Sorry hatte mich nicht genau genug ausgedrückt!
Grüße Nico

Private Sub CommandButton1_Click()
Call Speichern
End Sub

Sub Speichern()
Application.ActivePrinter = "Microsoft Office Document Image Writer auf Ne00:"
Dim Pfad As String, Dateiname As String
Pfad = ("D:\Test\") & [Phad].Value 'Path
SaveString = [datname].Value
?
Sheets("Tabelle1").PrintOut Copies:=1, _
ActivePrinter:="Microsoft Office Document Image Writer auf Ne00:", Collate:=True
?
? . . . ThisWorkbook.SaveAs Filename:=Pfad & SaveString & "_" & Date & ".xls"
Application.DisplayAlerts = False
Application.DisplayAlerts = True
End Sub
Anzeige
AW: Exceldokument speichern
15.11.2006 11:42:14
fcs
Hallo Nico,
nach etwas probieren klappt es etwa so. Bitte achte darauf, dass der Wert der Variablen "Pfad" am Ende ein \(backslash) hat.
Wie du das Datum in den Dateinamen einbaust ist natürlich deine Sache. Ich empfehle ein Format JJJJMMTT oder ähnlich, dann bleibt der Name in Dateilisten ordentlich sortierfähig, wenn das Dokument an mehren Tagen gespeichert wurde. Weitere Punkte solltest du im Dateinamen auch möglichst vermeiden.
Gruß
Franz

Sub Speichern()
Dim Pfad As String, Dateiname As String, Drucker As String
Drucker = ActivePrinter 'Aktuellen Drucker merken
Application.ActivePrinter = "Microsoft Office Document Image Writer auf Ne00:"
Pfad = ("D:\Test\") & [Phad].Value 'Path
SaveString = [datname].Value
Sheets("Tabelle1").PrintOut Copies:=1, Collate:=True, Printtofile:=True, _
prtofilename:=Pfad & SaveString & Format(Now, "YYYYMMDD_hhmm") & ".mid"
ThisWorkbook.SaveAs Filename:=Pfad & SaveString & "_" & Format(Date, "YYYYMMDD") & ".xls"
Application.ActivePrinter = Drucker 'Drucker zurücksetzen
End Sub

Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige