Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Excel macro wie datei nach druck automatisch schliessen ?

Frage Entwicklung VB for Applications

Mitglied: john-carter

john-carter (Level 1) - Jetzt verbinden

22.03.2012 um 11:26 Uhr, 5913 Aufrufe, 8 Kommentare

hallo zusammen,
stehe mal wieder aufm schlauch.

ich habe eine xls, die beim öffnen automatisch vb ausführt.
wenn genau diese xls ausgedruckt wird,muss duplex gedruckt werden, bei anderen xls KEIN duplex.
dazu hab ich mir was geschrieben,was auch funktioniert.
habe 2 drucker definiert, "normal" und "duplex"
beim öffnen der xls wird "duplex" einfach als standdarddrucker definiert,vor dem schliessen zurück auf "normal"

das funktioniert auch.

nun möchte ich aber,dass nach dem drucken (ich benutzte auschliesslich den druck-button in excel und gehe NICHT über datei/drucken) die datei automatisch geschlossen wird,ohne nachfrage des speicherns.
datei soll auch nicht gespeichert werden.

nun hatte ich hier im forum gesucht und was von bastl gefunden >> Sub FilePrintDefault()
das scheint sich aber nur auf world zu beziehen bzw geht bei mir nicht.

wie bekomme ich das hin,dass nach klick auf den standard druck button die xls ohne nachfrage autoschliesst.
wo muss da der close befehl hin?

hier mal mein code zum wechseln der printer:


Sub ListAllPrinters()
Dim strComputer$, objWMI As Object, colPrinters As Object, objPrinter As Object

strComputer = "."
Set objWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colPrinters = objWMI.ExecQuery("Select * from Win32_Printer")

For Each objPrinter In colPrinters
Debug.Print objPrinter.Name
Next
End Sub

Function ChangePrinter(ByVal strPrinter As String) As Boolean
Dim strComputer$, objWMI As Object, colPrinters As Object, objPrinter As Object

ChangePrinter = False
strComputer = "."
Set objWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colPrinters = objWMI.ExecQuery("Select * from Win32_Printer")

For Each objPrinter In colPrinters
If objPrinter.Name Like strPrinter Then
objPrinter.SetDefaultPrinter
ChangePrinter = True
Exit For
End If
Next
End Function

Sub Switch_to_DUPLEX()
Debug.Print Application.ActivePrinter
ChangePrinter "DUPLEX_DRUCK"
Debug.Print Application.ActivePrinter
End Sub

Sub Switch_to_NORMAL()
Debug.Print Application.ActivePrinter
ChangePrinter "NORMAL_DRUCK"
Debug.Print Application.ActivePrinter
End Sub


Private Sub Workbook_open()
Switch_to_DUPLEX

End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Switch_to_NORMAL
End Sub



gruss/j
Mitglied: mak-xxl
22.03.2012 um 12:06 Uhr
Moin john-carter,

auf die Schnelle: Hast Du die Chance, auf dem Sheet eine Schaltfläche oder eine 'aktive' Zelle unterzubringen, die das '.PrintOut' auslöst und danach schließt?
Die Befehle für 'Schließen ohne Speichern' sind Dir, denke ich, bekannt und können alle in das Sub reingesetzt werden.

Beispiel:
01.
Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
02.
     
03.
    If Target.Address = "$B$2" Then        ' (nur) Zelle "B2" reagiert auf Klick 
04.
         
05.
'        Call DuplexEin_Makro 
06.
'        ActiveSheet.PrintOut 
07.
'        Call DuplexAus_Makro 
08.
'        ThisWorkbook.Saved = True 
09.
'        ThisWorkbook.Close 
10.
 
11.
    End If 
12.
 
13.
End Sub
Freundliche Grüße von der Insel - Mario
Bitte warten ..
Mitglied: john-carter
22.03.2012 um 12:15 Uhr
eigene schaltfläche wäre möglich,ja

schliessen ohne speichern kenne ich leider nicht.

und "'.PrintOut' auslöst und danach schließt" ist mir leider auch ein rätsel. genau das brauche ich ja eigentlich.primtout und schliessen.


gruss/j

edit;deinen code gerade erst gesehn, ich versuchs mal...
Bitte warten ..
Mitglied: mak-xxl
22.03.2012 um 12:25 Uhr
Moin john-carter,

ein Quelltext steht oben, wenn Du eine Schaltfläche bevorzugst, schreibst du den Code ohne die If-Abfrage in das zugehörige Sub. SF oder 'aktive Zelle' ist nur Geschmackssache, Funktion ist (in Deinem Falle) gleich.

Eventuell weist Du Benutzer mit einer MsgBox (in Zeile 4) darauf hin, dass jetzt die aktuelle Seite gedruckt und danach die Mappe geschlossen wird.

Freundliche Grüße von der Insel - Mario
Bitte warten ..
Mitglied: john-carter
22.03.2012 um 12:34 Uhr
ok,habe nun einen button,
geht soweit auch alles.die xls wird sogar geschlossen,cool.

code:

Private Sub CommandButton1_Click()
ActiveSheet.PrintOut
ThisWorkbook.Saved = True
ThisWorkbook.Close
End Sub


leider bleibt excel selber geöffnet,excel müsste aber komplett beendet werden.

gruss/


edit:
hintergrund: ich hab ein webfrontend(apex) ,dort rufe ich mittels klick aus oracle blob table eine xls vorlage auf,sobald die volage automatisch geöffnet ist holt excel daten zum befüllen aus der db.gleichzeitig wird der passende printer eingestellt.
bin mittlerweile soweit ,dass ich ich wirklich nur einmal klicken muss im browser,der rest geht vollautomatisch.auch excel öffnet sich ohne nachfrage usw.
nur leider öffne ich über das frontend auch andere excel dateien. und jede excel datei ist in einem eigenen excel process geöffnet.wenn ich dann so 20 dinger auf hab,bekomm ich die kaum wieder zu,dauert ewig .wäre also gut,nach dem ausdrucken nicht nur die excel datei zu schliessen,sondern den jeweiligen excel process direkt mit.
Bitte warten ..
Mitglied: mak-xxl
22.03.2012 um 12:45 Uhr
Moin john-carter,

bitte um Milde, ich habe ein
01.
Application.Quit
vergessen. Als letztes in den Sub eintragen.

Freundliche Grüße von der Insel - Mario
Bitte warten ..
Mitglied: john-carter
22.03.2012 um 12:50 Uhr
gerade selber ergoogelt,geht leider nicht.

excel bleibt geöffnet,leer ohne offene xls.


g/j

code:

Private Sub CommandButton1_Click()

ActiveSheet.PrintOut
ThisWorkbook.Saved = True
ThisWorkbook.Close
Application.Quit
End Sub
Bitte warten ..
Mitglied: john-carter
22.03.2012 um 12:56 Uhr
fehler gefunden:
ich darf NICHT ThisWorkbook.Close und dann Application.Quit ,sonst bleibt excel geöffnet.

einfach so:

rivate Sub CommandButton1_Click()

ActiveSheet.PrintOut
ThisWorkbook.Saved = True
Application.Quit
End Sub


klappt ebstens jetzt,vielen dank für deine schnelle hilfe,auch für die idee.manchmal holz vorm kopf....
Bitte warten ..
Mitglied: mak-xxl
22.03.2012 um 13:00 Uhr
Moin john-carter,

wenn keine weitere Tabelle in der Excel-Instanz geöffnet ist, dann 'ThisWorkbook.Close' durch 'Application.Quit' ersetzen.


Freundliche Grüße von der Insel - Mario
Bitte warten ..
Ähnliche Inhalte
Windows Tools
Excel Macro
Frage von bob1986Windows Tools3 Kommentare

Hallo allemal Kann mir jemand hiermit helfen mit einer formale oder VBA Ich probiere es mal zu erklären ich ...

VB for Applications
EXCEL Macro oder ähnliches gesucht
gelöst Frage von reissaus73VB for Applications3 Kommentare

Wer kann mir zu folgender Frage Hilfe geben. Ich suche eine Variante mit welcher sich die verbrauchte Zeit in ...

VB for Applications
Excel Macro ODBC Abfrage
gelöst Frage von highpriestVB for Applications7 Kommentare

Hallo Experten! Da ich nicht viel Ahnung davon habe, bitte ich Euch um Hilfe. Ich suche nach eine Möglichkeit ...

Microsoft Office
Macro in Excel öffnen funktioniert nicht
Frage von MSC-ITMicrosoft Office

Liebes Administratoren Team, beim öffnen eines Macros, Dateiname.xlsb bekomme ich folgende Fehlermeldung: Von Excel wurde unlesbarer Inhalt in Dateiname.xlsb ...

Neue Wissensbeiträge
Sicherheit

Blackberry stirbt - Keine Updates für Priv mehr

Tipp von certifiedit.net vor 36 MinutenSicherheit

Blackberry wird zu einer 08/15 Firma und geht wohl mehr und mehr den Weg, den HTC schon ging. Von ...

Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 2 TagenWindows 108 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 2 TagenSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 2 TagenInternet5 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

Heiß diskutierte Inhalte
Batch & Shell
Kann man mit einer .txt Datei eine .bat Datei öffnen?
gelöst Frage von HelloWorldBatch & Shell20 Kommentare

Wie schon im Titel beschrieben würde ich gerne durch einfaches klicken auf eine Text oder Word Datei eine Batch ...

LAN, WAN, Wireless
WLAN Reichweite erhöhen mit neuer Antenne
gelöst Frage von gdconsultLAN, WAN, Wireless10 Kommentare

Hallo, ich besitze einen TL-WN722N USB-WLAN Dongle mit einer richtigen Antenne. Ich frage mich jetzt ob man die Reichweite ...

Router & Routing
Wieso kann ich den UPD 7000-9000 nicht freigeben?
Frage von Jayk0bRouter & Routing8 Kommentare

Router: Telekom W 723V Ports: UDP 7000-9000 Können nicht frei gegeben werden. Benutzgrund: Rocket League 7000 – 9000 UDP ...

Router & Routing
Fritzbox Gastnetz - exposed Host - zur Sophos IPTV
Frage von medikopterRouter & Routing8 Kommentare

Hallo zusammen, ich habe eine Frage bezüglich des Fritz box Gastzugangs an einer Sophos UTM Home. An liebsten wäre ...