VBA Excel mit SetCurrentDirectory (ActiveWorkbook.Pfad) funktioniert nicht mit 64-bit

Wir derzeit alle änderungen, die notwendig sind, um unsere VBA-Vorlagen für die Arbeit mit Office 2010 32-bit und 64-bit. Wir laufen in ein Problem, ich habe versucht, Sie zu beheben.

Dies ist der code, funktioniert nur für 32-bit-innerhalb der DynamicXLSAppHandler:

Dim L_Return As Long

'Set Current Directory in SaveAs dialog
If ActiveWorkbook.Path <> "" Then
    ChDrive (ActiveWorkbook.Path)
    ChDir (ActiveWorkbook.Path)
    L_Return = SetCurrentDirectory(ActiveWorkbook.Path)
End If

Der Zweck dieses code ist es, wenn der Benutzer klickt auf "Speichern" oder "Strg-S", werden Sie aufgefordert, ein Dialogfeld speichern unter in das Verzeichnis (Pfad), die Sie ursprünglich geöffnet, das Dokument/die Vorlage aus. Ohne diesen code (wegen der 64-bit-Inkompatibilität) es jetzt einfach öffnet "Dokumente" als Standard, und müssen die Benutzer navigieren Sie zu dem ursprünglichen Pfad.

Frage ich mich, ob es eine neue Möglichkeit dies zu tun, für die 64-bit-Version, oder wenn ich haben, Dinge zu ändern, komplett.

  • Beachten Sie, dass ChDrive wird scheitern, wenn Ihre Arbeitsmappe passiert, gerettet zu werden, auf einem nicht verbundenen Netzlaufwerk, z.B. wenn ActiveWorkbook.Path ist \\mycompany\somedrive\somefolder. Ich habe gelernt, auf die harte Weise.
InformationsquelleAutor Josh3030150 | 2013-06-03
Schreibe einen Kommentar