2016-06-17 17 views
2

Ich habe eine ältere Access 2003-Anwendung, die wir in Wondows 7 ausgeführt haben. Ich habe beschlossen, Access 2016 zu konvertieren, damit es fortgesetzt wird Arbeiten Sie in Windows 10 für den Fall, dass wir jemals einen unserer aktuellen Windows 7-Rechner ersetzen müssen und nur Windows 10 verfügbar ist. Es ist ziemlich gut konvertiert, außer für eines seiner Features, Faxe zu senden.Senden eines Faxes in Access 2016 unter Windows 10 (Faxserver verwendet Windows Server 2003)

Unser Faxserver ist ein Windows Server 2003-Computer, und wie ich bereits sagte, verwende ich meine Anwendung in Access 2016 auf einem Windows 10-Computer.

Das ist mein Fax Code:

Public Sub SendFax(RptName, faxNumber, faxName) 

Dim FS As New FAXCOMEXLib.FaxServer 
Dim FD As New FAXCOMEXLib.FaxDocument 
Dim strComputerName As String 
Dim strFile As String 

strComputerName = "server08" 
strFile = "C:\Reports\test.snp" 
DoCmd.OutputTo acOutputReport, RptName, acFormatSNP, strFile, False 
DoCmd.Close acReport, RptName 

FS.Connect (strComputerName) 
FD.Body = strFile 

FD.CoverPageType = fcptNONE 

FD.DocumentName = "Test" 
FD.priority = fptHIGH 

'FD.Recipients.Add USCanonicalPhone(faxNumber), faxName 
FD.Recipients.Add faxNumber, faxName 

FD.Submit(strComputerName) 

End Sub 

ich auch verwendet haben versucht:

FD.ConnectedSubmit(FS) 

anstelle von FD.Submit aber so oder so der Code auf dieser Linie explodiert. Ich erhalte die folgende Fehlermeldung:

Run-time error '-2147023741 (80070483)': Operation failed. 

Ich habe zufällig auf dieser Web-Seite stolpern, die Vista veraltet und Referenzen, aber ich frage mich, ob es für Windows 10 als auch gilt: Sending a Fax (Windows)

Ich habe auch versucht Ich implementiere die JobID-Variable, die auf dieser Seite angezeigt wird, in meinen Code, aber es führt immer noch zum selben Fehler.

Ich sehe, dass es eine Problemumgehung auf der Webseite über Schreibberechtigungen gibt, aber ich weiß nicht, wie dies zu tun ist, und ich habe kein C: \ ProgramData-Verzeichnis auf meinem Computer.

Ich frage mich auch, ob ich in der Lage wäre, einen Windows 7-Rechner als Faxserver einzurichten und ob das das Problem lösen würde. Natürlich ist unser Server für ein Upgrade fällig, da sein Betriebssystem 13 Jahre alt ist. Würde ein Upgrade auf Windows Server 2012 das Problem lösen? Oder sollte ich warten, bis Windows Server 2016 veröffentlicht wird?

Jede Hilfe würde sehr geschätzt werden. Vielen Dank.

+0

Ist es ein Dateiassoziationsproblem wie hier (gleiche Fehlernummer) https://www.interfax.net/en/dev/faxcomexlib/operation-failed. – BitAccesser

+0

Danke für diese Information. Ich habe festgestellt, dass das .snp-Format, das ich verwende, in Access 2010 eingestellt wurde und Access nun das Exportieren nach PDF anbietet.Also habe ich meinen Code dafür eingerichtet: 'strFile =" C: \ Berichte \ test.snp "' 'DoCmd.OutputTo acOutputReport, RptName, acFormatSNP, strFile, False' Allerdings erhalte ich immer noch das gleiche Error. Ich verstehe nicht, dass dies ein Dateiassoziationsfehler sein kann, da ich Acrobat auf meinem Computer installiert habe und kein Problem beim Öffnen von PDFs habe. Ist es möglich, dass ich im Gegensatz zu Adobe einen Microsoft-PDF-Reader verwenden muss? Danke – Ben

+0

Nur realisiert, ich habe kein Acrobat, ich benutze Microsoft Edge, um PDFs zu öffnen. – Ben

Antwort

1

Ich habe das herausgefunden. Das Problem ist definitiv ein Problem mit der Dateiverknüpfung. Es hat jedoch nichts mit Access 2016 oder Windows Fax and Scan zu tun. Es muss sich damit befassen, wie Sie PDFs anzeigen. (Ich nehme an, die Wahrheit würde für SNP-Dateien gelten, aber ich habe SNP nur verwendet, da Access 2003 den Export in PDF nicht unterstützt, kein Grund zur Sorge über ein veraltetes Dateiformat)

Das Problem ist, dass der Standard-Viewer für pdf auf einer neuen Installation von Windows 10 ist Microsoft Edge, und Microsoft Edge unterstützt das Drucken zu Fax nicht. Um dieses Problem zu lösen, müssen Sie Adobe Acrobat installieren und als Standard-PDF-Viewer festlegen, da das Drucken auf Faxen unterstützt wird. Sobald Sie dies tun, haben Sie kein Problem mehr, PDF-Dateien per Code an Ihren Faxserver zu senden oder PDF-Dateien an Ihren Faxserver zu senden, den Sie in Acrobat geöffnet haben.

Für diejenigen von euch, die hier interessiert sind, ist mein neuer Code, nicht viel geändert hat:

Public Sub SendFax(RptName, faxNumber, faxName) 

Dim FS As New FAXCOMEXLib.FaxServer 
Dim FD As New FAXCOMEXLib.FaxDocument 
Dim strComputerName As String 
Dim strFile As String 

strComputerName = "server08" 
strFile = "C:\Reports\test.pdf" 
DoCmd.OutputTo acOutputReport, RptName, acFormatPDF, strFile, False 
DoCmd.Close acReport, RptName 

FS.Connect strComputerName 
FD.Body = strFile 

FD.CoverPageType = fcptNONE 

FD.DocumentName = "Test" 
FD.priority = fptHIGH 

FD.Recipients.Add faxNumber, faxName 

FD.Submit (strComputerName) 


End Sub 

Natürlich müssen Sie in Referenzen mit „Microsoft Faxdienste Erweiterte COM-Typbibliothek“ sein.

+0

Als eine Randnotiz können Sie exportieren RTF und es wird kein Problem, aber Sie werden alle Bilder verlieren, die Sie in Ihrem Access-Bericht haben. XLS könnte auch für das Faxen funktionieren, aber als ich versuchte, war die Formatierung in Excel schrecklich, unlesbar und über viele Seiten verteilt. – Ben