Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
960to964
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
960to964
960to964
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Bereich als .pdf versenden
17.03.2008 15:28:04
mtremer
Hallo Excel-Freunde,
hier ist mal wieder eine knifflige Frage:
Wie kann ich einen bestimmten Bereich per FreePDF XP umwandeln und sofort per E-Mail versenden?
Ich habe mir bei der Recherche schon die Finger wund gesucht. Mittlerweila habe ich mir folgenden Code zusammengebastelt:

Private Sub CommandButton1_Click()
Dim wks As Worksheet, oldPrinter As String
Set wks = ActiveSheet
Select Case wks.Name
Case "Tabelle1" 'Name der Tabelle von der eine PDF-Kopie ausgedruckt werden soll
If ActiveWindow.SelectedSheets.Count = 1 Then 'Prüfung auf Blattgruppierung
oldPrinter = Application.ActivePrinter
Application.ActivePrinter = "FreePDF XP auf Ne00:"
Application.EnableEvents = False
ActiveWindow.SelectedSheets.PrintOut
Application.EnableEvents = True
Application.ActivePrinter = oldPrinter
End If
Case Else
'do nothing
End Select
End Sub


Problem 1: mir scheint der Code zu lang für das was er tut.
Problem 2: ich muß noch einen Speicherort ausdenken.
Wie kann ich das lösen?
Danke für Eure Hilfe.
Viele Grüße
Marco

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bereich als .pdf versenden
17.03.2008 16:08:00
mtremer
Hallo Tino,
danke für Deine schnelle Antwort. Die war auf jeden Fall ganz zah dran.
Allerdings verweist der Code auf den "PDFCreator", ich habe aber "FreePDF".
Kannst Du den Code soweit umstellen? Ich habe nämlich nicht viel Ahnung von VBA.
Danke.
Viele Grüße
Marco

AW: Bereich als .pdf versenden
17.03.2008 17:09:45
mtremer
OMG - das ist ja ein Hammer-Code...
Jetzt verstehe ich auch, warum Du lieber den PFDCreator benutzt.
Das dumme ist nur, wir haben gesperrte Computer. Und auf dem ist nun mal FreePDF :-(
Gibt es keinen Code, den VBA-fast-nicht-Versteher verstehen?
;-)
Trotzdem Danke.
Viele Grüße
Marco

vielleicht hat ja einer etwas fertiges
17.03.2008 17:32:13
Tino
Hallo,
vielleicht hat ja einer etwas fertiges, lass mal die Frage offen.
Gruß
Tino

AW: vielleicht hat ja einer etwas fertiges
18.03.2008 10:11:18
Tino
Hallo,
habe den Code mal ins Excelformat gebracht,
allerdings habe ich den FreePDF nicht installiert und daher auch nicht getestet.

Option Explicit
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Declare Function OpenProcess Lib "kernel32" _
(ByVal dwDesiredAccess As Long, _
ByVal bInheritHandle As Long, _
ByVal dwProcessId As Long) As Long
Private Declare Function GetExitCodeProcess Lib "kernel32" _
(ByVal hProcess As Long, lpExitCode As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" _
(ByVal hObject As Long) As Long
' API Declaration
Public Declare Function GetTickCount Lib "kernel32" () As Long
Private Declare Function ShellExecute Lib "shell32.dll" 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
Function GetMyDocumentsFolder() As String
'Sucht den Ordner 'Eigene Dateien' unter WinXP
Dim wshshell As Object
Dim struser As String
Set wshshell = CreateObject("Wscript.shell")
struser = wshshell.SpecialFolders("MyDocuments")
GetMyDocumentsFolder = struser
End Function
Public Function Convert_PSFile(Optional sZiel As String = _
"c:Netzwerkpdftktmp.pdf") As Boolean
Dim sFilePS As String, sFilePDF As String, stmpPS As String
Dim result As Long
10        On Error GoTo Convert_PSFile_Error
stmpPS = Dir("C:Dokumente und Einstellungen\AllUsers\FreePDF*.ps")
If stmpPS = "" Or InStr(1, stmpPS, "~", vbTextCompare) 


Gruß
Tino

Anzeige
AW: vielleicht hat ja einer etwas fertiges
18.03.2008 12:20:50
mtremer
Oh jeh, dann hat Du ganz schön Arbeit damit gehabt.
Ich habe das gleich mal probiert, aber leider klappt es nicht.
Unter "Option Explicit" gibt es gleich eine Fehlermeldung und er Markiert "Public Declare Sub Sleep Lib "kernel32"" und die anderen Zeilen mit "kernel32". Hier die Fehlermeldung:
"Fehler beim Kompilieren - Konstanten, Zeichenfolgen fester Länge, benutzerdefinierte Datenfehler und Declare-Anweisungen sind als Public-Elemente von Objektmodulen nicht zugelassen"
Was bedeutet das nun?
Viele Grüße
Marco

AW: vielleicht hat ja einer etwas fertiges
18.03.2008 15:06:00
mtremer
Hallo Tino,
bei Deiner Datei meckert zumindest nicht gleich rum ;-)
Kannst Du mir bitte nur noch schnell sagen, wie ich den Befehl mit einem CommandButton ansteuere?
Dann kann ich schonmal etwas testen...
Danke.
Viele Grüße
Marco

AW: vielleicht hat ja einer etwas fertiges
18.03.2008 19:23:52
Tino
Hallo,
mach aus der Zeile
Private Sub Print_Excel_Sheet()
diese
Sub Print_Excel_Sheet()
hier ein Video.
https://www.herber.de/bbs/user/50827.zip
Gruß
Tino

Danke - Es klappt!
19.03.2008 16:08:35
mtremer
Hallo Tino,
ich habe bei uns mal etwas rumtelefoniert: Nun habe ich PDFCreator aufm Rechner!
Und das tolle ist: es klappt einwandfrei :-))))
Ich danke Dir, auch für die viele Arbeit, die ich Dir bei FreePDF gemacht habe.
Danke für Deine Geduld!
Viele Grüße
Marco
Anzeige

315 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige