Bedingte Kompilierung?

05/11/2009 - 21:35 von Peter Michel | Report spam
Hallo,

ich habe ein Problem mit einem Makro was versionsabhàngige additive
Parameter braucht.
Die Zeile SaveAS Filename:=x, FileFormat:=xlCSV
ist unter Versionen vor XP/2002 ok und benutzt das Semikolon als
Separator.
Ab 2002 muss dazu der Paramater Local:=True angegeben werden.
Ich kann zwar zur Laufzeit mit .Version steuern, aber das "Local:=..."
wird mir schon vorher angemeckert :-((
Was tun???

Cheers
Peter
Für direkte email rot13 cebBETN-Yrvzra@jro.qr
oder entferne ".without-this" aus der Email-To. Danke!
 

Lesen sie die antworten

#1 Martin Worm
05/11/2009 - 22:15 | Warnen spam
Am Thu, 05 Nov 2009 21:35:32 +0100,schrieb Peter Michel:

hallo,

ich habe ein Problem mit einem Makro was versionsabhàngige additive
Parameter braucht.
Die Zeile SaveAS Filename:=x, FileFormat:=xlCSV
ist unter Versionen vor XP/2002 ok und benutzt das Semikolon als
Separator.
Ab 2002 muss dazu der Paramater Local:=True angegeben werden.
Ich kann zwar zur Laufzeit mit .Version steuern, aber das "Local:=..."
wird mir schon vorher angemeckert :-((
Was tun???



Hilfe zu den Stichwörtern #Const und #If lesen ;-)

Sub VersionsabhàngigeSpeicherung()
'Hier Version eingeben ab der der Parameter Locale existiert
#Const XL_VersionMitLocale = 11 'Wert geraten
Dim AppVersion As Double
AppVersion = Val(Application.Version)
#If AppVersion < XL_VersionMitLocale Then
ThisWorkbook.SaveAs Filename:="Test", FileFormat:=xlCSV

#Else
ThisWorkbook.SaveAs Filename:="testx", _
FileFormat:=xlCSV, Local:=True

#End If
End Sub

Frage an die Mitleser: Warum ergibt

#If Val(Application.Version) < XL_VersionMitLocale Then

den Fehler "unzulàssige Verwendung eines Objekts"

mit freundlichen Grüßen

Martin Worm
benutze XL 2000 und Win XP SpX

Ähnliche fragen