thePrintManager.basic

Antwort erstellen

Smileys
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :arrow: :| :mrgreen: :geek: :ugeek: :x: :v:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[url] ist eingeschaltet
Smileys sind eingeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: thePrintManager.basic

Re: thePrintManager.basic

#6

von knobbi38 » 17. Jan 2025, 13:05

@thowe:

Wenn schon VBA7, dann sollte man für ein hWnd immer den Datentyp longptr nehmen, also

Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
ByVal hwnd As LongPtr, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long _
) As LongPtr


Gruß
Knobbi38

Re: thePrintManager.basic

#5

von d'r Bastler » 16. Jan 2025, 17:04

Gerne doch :lol:

Man nehme ...
  • das Periodensystem der Elemente
und besichtige die
  • Ordnungszahlen für Germanium und na- das andere eben
breites Grinsen

Re: thePrintManager.basic

#4

von thowe » 16. Jan 2025, 16:51

Jetzt hilf mir mal bitte auf die Sprünge d' r Bastler...!

-> gut Germaniumist ein neu entdecktes chemisches Element,
-> aber wie darf ich Gadolinium verstehen...?

lg thowe

Re: thePrintManager.basic

#3

von d'r Bastler » 16. Jan 2025, 14:02

Moin thowe,

Danke für die Ergänzung, zu der ich hier auch für nicht VBA-Geübte noch die ganz einfache Einbauanleitung step-by-step anfüge. Nur Mut, die drei Minuten schafft jeder :)

Mit Alt+F11 den VBEditor öffnen -> im Projektexplorer VBAProject(thePrintManger.Basic.xlsb) oben links mit Klick auf das + vor Module diese Liste öffnen -> per Doppelklick auf mdlFunctions den Code des Moduls anzeigen.

Dort den Codeblock beginnend mit Declare Function ShellExecute (vier Zeilen) markieren und mit Klick auf das unten gezeigte Symbol auskommentieren. Der Text erscheint jetzt mit führenden Hochkommata in ' grüner Schrift.

Jetzt thowes zweiten Codeblock beginnend mit #If VBA7 Then (elf Zeilen) oberhalb (ab Zeile 3) einfügen -> Datei speichern. Den VBE mit dem X oben rechts schließen -> fertig!
Block auskommentieren.png

@thowe: Bin mit meinem Equipment zwar OS-technisch auch schon im Gadolinium angekommen, Office-technisch aber noch im Germanium. Ich werde die Moderne künftig berücksichtigen :lol:

lg und viel Spaß allerseits!

Re: thePrintManager.basic

#2

von thowe » 16. Jan 2025, 10:48

Hallo Heb,

ich habe an diesem 1en Rechner Windows 64bit mit Excel 64bit!

Daher bitte neben der Funktion: Declare Function ShellExecute Lib "shell32" ... im Modul mdlFunctions noch folgende einfügen:

Code: Alles auswählen

Declare Function PtrSafe ShellExecute Lib "shell32" Alias "ShellExecuteA" _
                          (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _
                          ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) _
                          As LongPtr
                          'sollte auch mit "As Long" funktionieren....
kurz&knapp:
zusätzlich die glieche Funktion ergänzt mit PtrSafe einfügen....

Wenn man will und sauberer coden möchte, dann folgender Ansatz:

Code: Alles auswählen

#If VBA7 and win64 Then
	Declare Function PtrSafe ShellExecute Lib "shell32" Alias "ShellExecuteA" _
                                  (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _
                                  ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) _
                                  As LongPtr 
                                  'sollte auch mit "As Long" funktionieren....
#Else 
	Declare Function ShellExecute Lib "shell32" Alias "ShellExecuteA" _
                                  (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _
                                  ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) _
                                  As Long
#End if
lg

thePrintManager.basic

#1

von d'r Bastler » 14. Jan 2025, 14:53

Moin allerseits!

Schon länger in der Pipeline ist jetzt endlich ein kleines Tool namens ThePrintManager.basic fertig geworden. Hier ein kurzer Einblick:

ThePrintManager.basic - Einführung -
"thePrintManager.bacsic soll helfen, täglich wiederkehrende Druckaufgaben zu vereinfachen,
indem er gespeicherte Druckbereiche gezielt an bestimmte Drucker oder E-Mail-Empfänger
sendet. Als Beispiel:"
"Lager und Versand bekommen Kommisionsliste und Versandschein auf ihre jeweiligen Drucker,
Buchhaltung die Rechnungsdaten und Kunde die Auftragsbestätigung per Mail."
"Zu Definition der Druckbereiche wird der komfortablere Namensmanager genutzt.
thePrintManager übersetzt dieNamensbereiche in Druckbereiche. So sind mehrere
Druckbereiche pro Blatt möglich, auch überlappende."
"Dazu wird der gewünschte Zellbereich ausgewählt und im Namenfeld (das DropDown oberhalb
der Zelle A1) ein sinnvoller Begriff eingegeben - fertig."
"Mit F12 ruft man thePrintManager auf, importiert die Namens/Druckbereiche, ordnet sie ihrem
Ziel zu und kann sofort senden - an einen Drucker und/oder per Mail in einem Schritt."
"Wie man thePrintManager in bereits vorhandene Arbeitsmappen integriert, ist
auf der Seite Setup beschrieben und auch ohne VBA-Kenntnisse machbar."

ThePrintManager.Basic.jpg
Die Datei gibt es hier zum Download:
thePrintManager.Basic.xlsb
Viel Spaß damit! und ich bin dankbar für kritisches Feedback :)

LG

Nach oben