Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA 64bit

Forumthread: VBA 64bit

VBA 64bit
06.06.2019 14:32:23
Pepi
Hallo Zusammen
Ich habe von Office 2010 auf Office 2019 Student (neuer Notebook - HP-Pavilion i7-8650) gewechselt. Jetzt bekomme ich beim öffnen meiner Tabellen Fehlermeldungen. Offenbar kann man das wie nachfolgend mit einer Versionsabfrage machen. Leider erscheint die else-Zeile rot, was einem Fehler gleich kommt, was mache ich denn da falsch.
#If VBA7 Then
Private Declare PtrSafe Function PathFileExists Lib "SHLWAPI.DLL" Alias "PathFileExistsA" (ByVal pszPath As String) As Long
#Else
Private Declare Function PathFileExists Lib "SHLWAPI.DLL" Alias "PathFileExistsA" (ByVal pszPath As String) As Long
#End If
Vielen Dank für Eure Hilfe Pepi
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA 64bit
06.06.2019 15:31:26
Nepumuk
Hallo Pepi,
das ist normal, den VBA 64Bit kann die Zeile nicht kompilieren. Dazu ist die bedingte Kompilierung (#If..) schließlich da. Wobei VBA7 die falsche Kompilerkonstante ist um Office 32Bit von Office 64Bit zu unterscheiden. Die richtige Konstante wäre WIN64.
Gruß
Nepumuk
Anzeige
AW: VBA 64bit
06.06.2019 17:43:21
Pepi
Sorry Neptun, das habe ich jetzt nicht ganz verstanden. Was muss ich denn konkret machen, dass diese Unterscheidung gemacht wird.
mfg Pepi
AW: VBA 64bit
06.06.2019 18:01:04
Nepumuk
Hallo Pepi,
so:
#If Win64 Then
Private Declare PtrSafe Function PathFileExists Lib "SHLWAPI.DLL" Alias "PathFileExistsA" ( _
ByVal pszPath As String) As Long
#Else
Private Declare Function PathFileExists Lib "SHLWAPI.DLL" Alias "PathFileExistsA" (ByVal  _
pszPath As String) As Long
#End If

Gruß
Nepumuk
Anzeige
AW: VBA 64bit
06.06.2019 18:44:56
Pepi
Danke, das macht offenbar nichts wenn die eine Anweisung rot erscheint, bei 32bit erscheint die andere vermutlich rot.
lg
Pepi
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige