In december schreef ik over het besluit van Microsoft om de ondersteuning voor Visual Basic for Applications (VBA) uit de volgende versie van Office te schrappen. Ik had en heb nog steeds veel zorgen over de overstap. De grootste zorg is dat deze wijziging het einde betekent van echte platformonafhankelijke integratie tussen de Windows- en OS X-versies van Office. Windows-gebruikers hebben nog steeds Visual Basic, maar als u van een van hen een Word- of Excel-document met macro's ontvangt, werken de macro's niet in de Mac-versie van Office. Ik denk nog steeds dat deze beslissing fundamenteel gebrekkig was en dat het niet veel goeds voorspelt voor de toekomst van de Mac-versie van Office. De tijd zal het natuurlijk leren, want het product is nog niet eens uit.
Een andere zorg die ik uitte, was de moeilijkheid bij het schrijven van AppleScripts voor Office 2008 versus het gemak van het maken van eenvoudige macro's in Word en Excel met behulp van het huidige menu-item Macro opnemen. In december schreef ik:
Ik weet niet hoe het met jou zit, maar het selecteren van Extra -> Macro -> Nieuwe macro opnemen lijkt me zeker veel eenvoudiger dan een nieuwe programmeertaal leren: ik wil geen programmeur worden, ik wil gewoon wat eenvoudige macro's schrijven en gebruiken in mijn projecten!
Hoewel er niets is veranderd met betrekking tot de kwestie van platformonafhankelijke ondersteuning, ziet het er op het gebied van AppleScripting een beetje goed uit. Neil Ticktin, uitgever van MacTECH, was zo vriendelijk om me een concept te sturen van een VBA-naar-AppleScript-handleiding van meer dan 150 pagina's die MacTECH zal gebruiken in hun uitgave van april 2007. Deze handleiding is onderverdeeld in zes hoofdsecties: AppleScript in het algemeen, AppleScript in Office in het algemeen en vervolgens specifieke secties voor elk van de vier Office-toepassingen. Van bijzonder belang is het hoofdstuk over Entourage, dat eigenlijk gaat over het gebruik van AppleScript in Entourage, aangezien het nooit VBA-ondersteuning heeft gehad.
Dus hoewel ik misschien nog een nieuwe programmeertaal moet leren, biedt MacTECH een hulpmiddel om die overgang zo eenvoudig mogelijk te maken. Meer over de gids leest u in dit schrijven op de MacTECH-website. (Als u wat geld wilt besparen, let dan op het stukje over de sponsoring van deze speciale gids door de Macintosh Business Unit van Microsoft; je kunt het ophalen voor een triviaal bedrag als je je kwalificeert en je inschrijft vóór 31 maart.)
Ik heb nog geen tijd gehad om de hele gids te lezen, maar het lijkt een uitstekende bron te zijn voor iedereen die de overstap van VBA naar AppleScript overweegt. Er zijn letterlijk honderden voorbeelden van VBA-code, gevolgd door hun AppleScript-vertalingen. Als u bijvoorbeeld met VBA een nieuw Excel-werkblad aan de voorkant van de huidige werkmap wilt maken, ziet de code er als volgt uit:
ActiefWerkboek. Werkbladen. Tel op voor:=1, Tel:=1
De MacTECH VBA naar AppleScript-gids presenteert het AppleScript-alternatief:
maak een nieuw werkblad aan het begin van de actieve werkmap
De gids gaat verder in deze stijl, legt elke vertaling uit en wijst ook op mogelijke "valkuilen" bij de overgang van VBA naar AppleScript, zoals deze:
…in AppleScript is er geen standaardwaarde 0 voor een ophogingsvariabele, zoals in VBA: de variabele is ongedefinieerd. Als je schrijftstel i in op i + 1
zonder eerst in te stelleni
naar0
, zal het script een fout maken.
De voorbeelden worden natuurlijk complexer en demonstreren dingen zoals het maken van nieuwe grafieken in Excel, exporteren van Entourage-contacten naar Excel, pagina-instelling en afdrukken, alle lege rijen in een Word-tabel verwijderen, en veel meer. Als je een ervaren gebruiker bent van VBA op de Mac-versie van Office, lijkt de MacTECH-handleiding een geweldige manier om snel aan de slag te gaan met de overstap naar op AppleScript gebaseerde oplossingen in Office 2008.
Voor mij is er echter nog een grotere vraag: zal het werk dat nodig is om mijn VBA-macrobibliotheek naar AppleScript te converteren enig voordeel opleveren? Aangezien Office 2008 pas later dit jaar wordt geleverd, kan ik die vraag nog niet helemaal beantwoorden. Maar zelfs als ik niet verder ga met een conversieproject, zal ik deze handleiding nog steeds goed gebruiken wanneer ik een macro-oplossing wil bouwen in de nieuwe versie van Office.