AW: speichert er das? / temp oeffnen
20.02.2009 11:33:00
fcs
Hallo Abu,
den Drucker kannst du im Code nur festlegen, wenn der Drucker bei allen Anwendern/auf allen Rechnern den gleichen Namen hat.
'Print out
'Aktiven Drucker merken
strDruckeraktuell = Application.ActivePrinter
'Drucken auf bestimmten Drucker
Worksheets("Fenex").PrintOut Copies:=1, Collate:=True, _
ActivePrinter:="\\s050a1025\P000A6515 auf Ne05:"
'Aktiven Drucker zurücksetzen
Application.ActivePrinter = strDruckeraktuell
Den genauen Namen des Druckers muss du ggf. per Makro-Aufzeichnung und Druckerwechsel ermitteln.
Zur weiteren Frage:
Wenn du die Daten manuell kopieren/eingeben willst, dann z.B. so:
'Variablen-Deklaration
Private strDateiTemp As String
Sub TempDateiOeffnen()
Dim wbTemp As Workbook
Dim varAuswahl
varAuswahl = Application.GetOpenFilename(Filefilter:="Excel(*.xls),*.xls", _
Title:="Bitte temporäre Datei für e-mail öffnen.")
If varAuswahl False Then
strDateiTemp = varAuswahl 'Fullname der temporären Datei
'Temporäre Datei öffnen
Workbooks.Open Filename:=strDateiTemp
End If
End Sub
Sub TempDateiSpeichern()
Dim wbTemp As Workbook
If strDateiTemp "" Then
'Temporäre Datei öffnen
Set wbTemp = Workbooks(strDateiTemp)
wbTemp.Save
wbTemp.Close
strDateiTemp = ""
Else
MsgBox "Es wurde noch keine temporäre Datei per makro geöffnet"
End If
End Sub
Wenn du alle zu kopieren/auszufüllenden Zellen kennst dann geht auch folgendes:
Sub TempDateiAnpassen()
'Alle Änderungen per Makro machen
Dim wbTemp As Workbook, wksZiel As Worksheet
Dim wbQuelle As Workbook, wksQuelle As Worksheet, strDateiTemp As String
strDateiTemp = "C:\Temp\DateiTemp.xls" 'Fullname der Temporären datei
'Datei und Tabelle mit den zu kopierenden Informationen setzen
Set wbQuelle = ActiveWorkbook
Set wksQuelle = wbQuelle.Worksheets("Tabelle2")
'Temporäre Datei setzen
Set wbTemp = Workbooks.Open(Filename:=strDateiTemp)
Set wksZiel = wbTemp.Worksheets(1)
'Daten Kopieren in temp. Datei
wksQuelle.Range("B7").Copy Destination:=wksZiel.Range("C9")
'manuell Daten eintragen in temp. Datei
wksZiel.Range("F7") = InputBox(Prompt:="xxxtext eingeben:", _
Title:="Temporäre Datei für e-Mail ausfüllen", Default:="TestText")
'usw.
wbTemp.Save
wbTemp.Close
End Sub
Statt den Dateinamen fest vorzugeben kannst du natürlich ähnlich wie oben auch den Dateiauswahldialog anzeigen lassen.
Gruß
Franz