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

Druckerbezeichnung auf NE0x: ändert sich

Druckerbezeichnung auf NE0x: ändert sich
06.08.2021 21:23:54
Sabbel
Hallo .. ich habe folgendes Problem
In meiner Mappe wird die Seite wksBarverkauf als PDF gemail.
Allerdings ändert sich die Drucker zuweisung dauernd:
Gestern war es noch "Microsoft Print to PDF auf NE02:" heute ist es dann auf einmal "Microsoft Print to PDF auf NE05:"
Lasse ich die Zeile ".Application.ActivePrinter = "Microsoft Print to PDF auf NE02:" weg .. funktioniert es so lange bis mal auf den DYMO gedruckt wurde.
Beim nächsten mal PDF Mailen sieht man dann nur die Größe des DYMO Ettikettes

With wksBarverkauf
.Application.ActivePrinter = "Microsoft Print to PDF auf NE02:"
.ExportAsFixedFormat Type:=xlTypePDF, From:=1, To:=1, _
Filename:=PDF_Speicher, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
End With
Hat jemand eine IDee wie man es umgehen kann?
LG
Sabbel

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Druckerbezeichnung auf NE0x: ändert sich
06.08.2021 21:42:34
Rudi
Hallo,
lass die Zeile
.Application.ActivePrinter = "Microsoft Print to PDF auf NE02:"
weg.
Gruß
Rudi
AW: Druckerbezeichnung auf NE0x: ändert sich
06.08.2021 21:50:49
Sabbel
Wie gesagt .. wenn ich vorher einen Ausdruck auf den DYMO Drucker gemacht habe hat die PDF nur noch die Größe des DYMO Etikettes
AW: Druckerbezeichnung auf NE0x: ändert sich
06.08.2021 21:58:40
Pierre
Hallo Sabbel,
Vielleicht kannst du am Ende der Ausführung des eigentlichen Makros wieder den Drucker zurücksetzen?
Oder den Umweg gehen, dass du die originalen Einstellungen wieder im Makro so setzt, wie sie sein sollen?
Gruß Pierre
was hälst du denn davon...
06.08.2021 22:21:16
Werner
Hallo,
...auf angebotene Hilfe auch zu reagieren?
https://www.herber.de/forum/messages/1841725.html
Zudem hatten wir das von dir schon mal mit dem PDF-Druck - wenn mich nicht alles täuscht.
Ich meine, dass dir da auch schon geraten wurde die Export-Funktion von Excel zu nutzen und nicht das Drucken.
Gruß Werner
Anzeige
AW: was hälst du denn davon...
08.08.2021 21:40:04
Sabbel
Hallo .. ich nutze die "Export-Funktion" allerdings wird die PDF immer in dem Format des letzten Druckers erzezugt.
Wenn vorher mit dem Dymo gedruck wurde sieht man nur einen Auschnitt der Seite.
Mit dem Zusatz .Application.ActivePrinter = "Microsoft Print to PDF auf NE02:" wurde immer die ganze Seite als PDF gespeichert.
Aber seit kurzem ändert sich die Zahl hinter dem NE0 fast täglich.
Daher meine Frage ob jemand eine IDee hat
AW: was hälst du denn davon...
09.08.2021 08:22:49
Klaus
Moin Sabbel,
welches NEOx: gerade aktiv ist, kannst du auslesen:

Sub Printer_List()
Dim Ws As Worksheet: Set Ws = ThisWorkbook.Sheets("Drucker")
Dim sBuf As String, i As Integer
sBuf = Space$(8192)
GetProfileString "PrinterPorts", vbNullString, "", sBuf, Len(sBuf)
GetName sBuf
GetPort
For i = 0 To iCount
Ws.Cells(i + 4, 1) = sName(i)
Ws.Cells(i + 4, 2) = sPort(i)
'WS.Cells(i + 1, 3) = sDriver(i)
Next
End Sub
Dann einfach das Script etwas flexibel gestalten und den Druckernamen-String dynamisch erzeugen.
LG,
Klaus M.
Anzeige
Vielen Dank .. aber es erscheint ein Fehler
09.08.2021 18:46:24
Sabbel
Hallo Klaus,
ich habe das Skript ausprobiert .. aber bei "GetProfileString" erscheint die Fehlermeldung "Fehler beim Kompilieren. Sub oder Funktion nicht gefunden.
Kann jemand weiterhelfen.
Liebe Grüße
Sabbel
AW: Vielen Dank .. aber es erscheint ein Fehler
10.08.2021 07:09:48
Klaus
Moin,
sorry ich hab die Deklaration vergessen:

Option Explicit
Private Const MP = 16
Private sName(MP) As String
Private sDriver(MP) As String
Private sPort(MP) As String
Private iCount As Integer
Private Declare Function GetProfileString Lib "kernel32" Alias "GetProfileStringA" ( _
ByVal lpAppName As String, _
ByVal lpKeyName As String, _
ByVal lpDefault As String, _
ByVal lpReturnedString As String, _
ByVal nSize As Long) As Long
Sub Printer_List()
Dim Ws As Worksheet: Set Ws = ThisWorkbook.Sheets("Drucker")
Dim sBuf As String, i As Integer
sBuf = Space$(8192)
GetProfileString "PrinterPorts", vbNullString, "", sBuf, Len(sBuf)
GetName sBuf
GetPort
For i = 0 To iCount
Ws.Cells(i + 4, 1) = sName(i)
Ws.Cells(i + 4, 2) = sPort(i)
'WS.Cells(i + 1, 3) = sDriver(i)
Next
End Sub

Anzeige
AW: Vielen Dank .. aber es erscheint ein Fehler
12.08.2021 21:19:47
Sabbel
Hallo vielen Dank ..
jetzt funktioniert es.
Ich habe es so umgesetzt

Dim wksDatei1 As Worksheet
Set wksDatei1 = Workbooks("Datei.xlsm").Worksheets("Tabelle1")
Dim xSuche As String
Dim Zahl As Variant
Dim Drucker as String
Dim rng As RangexSuche = "Microsoft Print to PDF"
Set rng = wksDatei1.Columns("A:A").Find(xSuche, lookat:=xlWhole, LookIn:=xlValues)
If Not rng Is Nothing Then
Zahl = rng.Offset(0, 1) ' 
Hat jemand einen Tipp wie man es einfacher umsetzen kann?
Liebe Grüße
Sabbel

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige