Acties:
  • 0 Henk 'm!

  • ArnieNFW
  • Registratie: December 2000
  • Laatst online: 10-09 08:40
Excuus: topicname had [VBA: XL2003 -> XL 2010] Activeworkbook.Fileformat check verschil
moeten zijn.

Niet mn dagelijkse kost, maar af en toe leuk om te doen. Een makro van excel 2003 debuggen die niet werkt in XL2010.
Dit is de code:
If ActiveWorkbook.FileFormat = xlNormal Then
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:=RFS, ConflictResolution:=True
ActiveWorkbook.Close
End If


Het IF statement is als je hem met XL2010 start FALSE, waardoor de SAVE niet uitgevoerd wordt.

In XL2010 heeft het activeworkbook.fileformat code 51 en xlNormal is -4143.

REMarking het IF statement zorgt ervoor dat de sheet keurig gesaved wordt. Maar kan iemand mij vertellen wat de reden is (het worksheet is locked; kan dus niet gewijzigd worden), wat de reden is om FILEFORMAT te checken op de code xlNormal?

Wat kan er verkeerd gaan als ik het IF statement verwijder?

[ Voor 6% gewijzigd door ArnieNFW op 16-11-2011 17:33 ]


Acties:
  • 0 Henk 'm!

  • pedorus
  • Registratie: Januari 2008
  • Niet online
Ik zou eigenlijk xlWorkbookNormal ipv xlNormal verwachten, en die 51 is xlWorkbookDefault. Je zou er voor de zekerheid dit van kunnen maken:
Visual Basic:
1
2
' 51 = xlWorkbookDefault, not supported in 2003 : 
If ActiveWorkbook.FileFormat = xlNormal or ActiveWorkbook.FileFormat = 51 Then 


Maar eigenlijk is het een beetje een vreemde test. Het lijkt erop alsof even gekeken wordt of het wel om het juiste workbook gaat, en niet om zeg een csv-bestand. Zonder meer context is het lastig om hier iets over te zeggen.

True is trouwens geen correcte waarde voor ConflictResolution, ook niet in 2003. :p

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


Acties:
  • 0 Henk 'm!

  • ArnieNFW
  • Registratie: December 2000
  • Laatst online: 10-09 08:40
Het is een sheet waar SAN parameters ingegeven moeten worden; vervolgens van zichzelf een kopie trekt en deze onder een naam wegschrijft.
Het aparte is, op het moment dat er wat ingevoerd is en er op een button geklikt wordt, wordt het blad protected en gesaved. Weinig kans dus dat eraan gerommeld wordt, zeker omdat het alleen door een handje vol IT specialisten gebruikt wordt. De check lijkt me wat overbodig.
Kortom: ik haal deze check er gewoon uit.
Thanx voor de update.