Hallo Leute,
mal wieder ein Problem mit dem HTML-Drucken. Neuerdings wird der Dateiname ganz merkwürdig verhackt. Dies fällt erst dann richtrig auf, wenn dann auf ein PDF-Drucker gedruckt wird, welcher die Datei speichert.
Unser Code:
Als Filename geben wir eigentlich immer den ganzen Pfad an. Ein Beispiel:
Wenn dies dann gedruckt wird, erhält der PDF-Printer folgenden Dateinamen:
Also ignoriert er den Pfad komplett und nimt den Desktop Pfad.
Ich habe versucht einfach mal die Slashes und Backslashes auszutauschen. Ausserdem habe ich versucht, testweise nur den Dateinamen anzugeben, da bekomme ich dann folgendes:
Das Problem ist, dass ich da anscheinend nach der Übergabe nichts mehr machen kann, da ich mich nicht zwischen HTML und Printer stellen kann. Mache ich bei der Übergabe irgend etwas falsch, oder hat sich evtl. mit W7 da was geändert?
Ich habe W7 64 Bit OS.
Wie immer vielen Dank für alle Ideen.
Müller Matthias
mal wieder ein Problem mit dem HTML-Drucken. Neuerdings wird der Dateiname ganz merkwürdig verhackt. Dies fällt erst dann richtrig auf, wenn dann auf ein PDF-Drucker gedruckt wird, welcher die Datei speichert.
Unser Code:
Visual Basic:
cWinSysDir = String(254, " ") 'MLHIDE
Call GetSystemDirectory(cWinSysDir, Len(cWinSysDir))
cWinSysDir = Trim(Left(cWinSysDir, InStr(cWinSysDir, Chr(0)) - 1))
If Dir(cWinSysDir & "\MSHTML.DLL") <> "" Then 'MLHIDE
ProcessId = Shell("rundll32.exe " & cWinSysDir & "\MSHTML.DLL,PrintHTML " & Chr(34) & FN & Chr(34), vbNormalFocus) 'MLHIDE
hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, False, ProcessId)
If hProcess <> False Then
Dim cnt As Long
Do
Call GetExitCodeProcess(hProcess, ExitCode)
DoEvents
cnt = cnt + 1
Loop While ExitCode = STATUS_PENDING
Call CloseHandle(hProcess)
Als Filename geben wir eigentlich immer den ganzen Pfad an. Ein Beispiel:
C:\Users\MM\AppData\Local\Temp\cns\cnswork\readonly\PrintHTM121550.htm
Wenn dies dann gedruckt wird, erhält der PDF-Printer folgenden Dateinamen:
C:\Users\MM\Desktop\C4_file____C__Users_MM_AppData_Local_Temp_cns_cnswork_readonly_PrintHTM121550.pdf
Also ignoriert er den Pfad komplett und nimt den Desktop Pfad.
Ich habe versucht einfach mal die Slashes und Backslashes auszutauschen. Ausserdem habe ich versucht, testweise nur den Dateinamen anzugeben, da bekomme ich dann folgendes:
C:\Users\MM\Desktop\C4_res___ieframe.dll_PrintHTM121938.pdf
Das Problem ist, dass ich da anscheinend nach der Übergabe nichts mehr machen kann, da ich mich nicht zwischen HTML und Printer stellen kann. Mache ich bei der Übergabe irgend etwas falsch, oder hat sich evtl. mit W7 da was geändert?
Ich habe W7 64 Bit OS.
Wie immer vielen Dank für alle Ideen.
Müller Matthias