Opstarten van een Excel file

Ja is een oudje, maar draait nog goed.
Veel minder zoekwerk in 2003 :)
Met quotes bedoel je: ' voor UserForm PDF maken Excel 2019 etc?
de 3 regels met ptrSafe worden rood, maar bij opstart geeft het geen probleem.
Ga nu het in 2019 proberen
 
Dit is inderdaad een enkele quote, niet een haakje: '
Hier moet die uiteraard wel blijven staan:
' voor UserForm PDF maken Excel 2019 etc
Omdat het een commentaar teken is.

De rode tekst verschijnt omdat die code niet geldig is voor de betreffende Office editie.
In Office 2019 zal het andersom zijn.
 
Laatst bewerkt:
goed nieuws het werkt :)
Maar alleen geeft hij tekst rood aan, maar verder geen probleem.

Met testen op 2019 loop ik wel tegen ander probleem op, nl. in 2003 heb ik ook een Calender onder werkset Besturingselementen.
Deze zit dus niet op de 2019. enig idee?
 
Dat is ook in Office 2003 niet standaard aanwezig.
Waarschijnlijk is dan ooit mscal.ocx op die pc geïnstalleerd.
Voor Office 2019 is die er niet, en ook niet echt nodig.
SNB heeft ook eens een leuke kalender gemaakt:
 

Bijlagen

Laatst bewerkt:
net even gezocht in 2019,

In excel is hij er wel, maar niet in het VBA werkblad
Heb er zelf ook ooit eens gemaakt, onder VBA. gebruik hem in een ander file, dus (enigste) optie is dan deze overzetten en gebruiken. (denk ik)
 
Als pdf opslaan: '.exportasfixedformat 0, "bestandsnaam"
 
Goedemiddag allen,

Alles draait perfect (onder 2003 en 2019) zelf een nieuwe kalender ingevoegd, welke ook goed draait onder 2019.
Zit nog wel met een vraagje over Versie van VBA.
Dit i.v.m. overschakelen naar andere versies van Excel.
Hoe kan ik het beste het verschil (versies) naar boven halen.

Onder Module gebruikt men ook #If VBA = 7 is dit hetzelfde dan wanneer men het opvraagt onder:
Edit:
Onder Module gebruikt men ook #If VBA 7, is dit hetzelfde dan wanneer men het opvraagt onder:
VB / Help / Info?

Heb in m'n program on wb. Control een overzicht gemaakt van welk:
- Excel Verrsion version gebruikt [11.0]
- Tevens Buikd nummer
- En besturingssysteem.
Dit wordt auto ingelezen onder ThisWorkbook_open
Werkt ook goed.

Tevens ook de VBA Versie, maar moet deze handmatig neerzetten.
Maar nu de Microsoft Visual Basic Version, deze moet je onder VB / Help / Info opvragen
Blijkt Version: [6.3] te zijn.
?? Dit is dus niet hetzelfde.
 
Laatst bewerkt:
Je zegt: Onder Module gebruikt men ook #If VBA = 7
Maar het is: #If VBA7 Then
Met #If VBA7 bepaal je of je de 64 bits of 32 bits versie van Office draait.

Het versienummer van VBA (bij mij 7.1) heeft daar niets mee te maken.
 
Nee.
Het is #If VBA7
 
Je kan het ook lezen als:
Code:
#If VBA7 = True
Die = True is dus niet verplicht.
 
ok, begrijp dus:
If VB7 dan gebruik van 64-bits
else 32-bits
correct?

vraagstelling was dus niet helemaal correct:
omdat:
- het file in verschillende versies kan draaien moet ik weten welke versie dit i.v.m. de extentie...
- in 2003 = dat .xls
- in 2019 = dat met macro's xlsm
- in 2021 = dat met macro's xlsa

dus moet een check hebben welke excel versie (of VBA?) het file draait.
dacht eerst aan de VBA versie, maar dat is niet zo begrijp ik,
wordt dus welke excel versie? klopt dit?

de 2003 is de 11.0 versie
de 2019 heeft he over 16.0 (is het altijd 16.0 of bv na een update 11.1?)

wat is de beste optie om die extenties goed te krijgen?
Bericht automatisch samengevoegd:

Ah gevonden,
Excel 2003 = Versie 11.0
Excel 2016 / 2019 / 2021 = versie 16.0

Dus zou me kunnen beperken tot Versie 11.0 of Versie 16.0
 
Laatst bewerkt:
ok, begrijp dus:
If VB7 dan gebruik van 64-bits
else 32-bits
correct?
Correct.
De Excel versie is daarbij niet van belang.
Je dient alleen te controleren of je te maken hebt met een 64-bit Office ja of nee.

Een invoegtoepassing voor Excel 2003 heeft de .xla extensie.
Vanaf Excel 2007 is dat .xlam.
 
had het over de extentie van het file
als ik in bv. 2019 werk en zou dan file opslaan, dan met exrtentie xlsm

Heb hier in praktijk te maken met 2003 - 2019 en 2021
File 2003 met extentie .xls
als ik hem dan overzet naar 2019 wordt het .xlsm
en later overzet naar 2021 wordt het weer .xlsa
dus zou dan worden:
Code:
If Versie = 11.01 then
   .xls
ElseIf Versie = 16.0 and Excel = 2019 then
   .xlsm
ElseIf Versie = 16.0 and Excel = 2021 then
   .xlsa
End if

Versie geeft hij aan bij opstarten, maar hoe kom ik er nu weer achter welke Excel er draait, 2019 of 2021?
Dit uiteraard met VBA.
 
Laatst bewerkt:
Nee.
Vanaf Office 2007 sla je een Excel bestand op als .xlsx als deze geen VBA code bevat en als .xlsm of .xlsb wanneer dat er wel in zit.
Als het een invoegtoepassing betreft sla je deze op als .xlam.
Een Excel template sla je op als .xltm of .xltx, afhankelijk van wel of geen VBA in het document.
Dit staat los van of het Excel 2007, 2010, 2013, 2016, 2019, 2021 of 2024 betreft.

Oudere Excel versies gebruiken. .xls.
Van een .xlsa heb ik nog nooit gehoord.

Zie ook:
 
Laatst bewerkt:
Hoi Edmoor,

klopt, maar alle files die ik maak zit wel macro's in :-)
vandaar het bovenstaande #37
in excel 2021 met macro's wordt het xlsa, hoorde het vanmiddag van mijn zoon.

alleen het opvragen met VBA of het een excel 2019 file of een excel 2021 file betreft ben ik nog niet uit
 
Wat ik al zei, de .xlsa extensie bestaat niet voor Excel.
 
Terug
Bovenaan Onderaan