Vasts tellen welke versie van Excel een werkmap hebt geschreven

BELANGRIJK: Dit artikel is vertaald door de vertaalmachine software van Microsoft in plaats van door een professionele vertaler. Microsoft biedt u professioneel vertaalde artikelen en artikelen vertaald door de vertaalmachine, zodat u toegang heeft tot al onze knowledge base artikelen in uw eigen taal. Artikelen vertaald door de vertaalmachine zijn niet altijd perfect vertaald. Deze artikelen kunnen fouten bevatten in de vocabulaire, zinsopbouw en grammatica en kunnen lijken op hoe een anderstalige de taal spreekt en schrijft. Microsoft is niet verantwoordelijk voor onnauwkeurigheden, fouten en schade ontstaan door een incorrecte vertaling van de content of het gebruik ervan door onze klanten. Microsoft past continue de kwaliteit van de vertaalmachine software aan door deze te updaten.

De Engelstalige versie van dit artikel is de volgende:225029
Dit artikel is gearchiveerd. Het wordt aangeboden in de huidige vorm en wordt niet meer bijgewerkt.
Samenvatting
Dit artikel wordt beschreven hoe u kunt bepalen welke versie van Microsoft Excel die schreef een bepaalde werkmap.
Meer informatie
Microsoft Excel slaat gegevens via gestructureerde opslag. In het bij zonder hetHiermee maakt u een gegevensstroom genoemd "Werkmap" (voorheen gewoon "boek") waarHiermee slaat u de inhoud vanaf een begin van bestand (BOF) record. Ditrecord bevat nuttige ken merken van de werkmap, evenals de versie.De volgende Microsoft Visual C++-code ziet u hoe een bestand te openenlezen en retourneert het versienummer op basis van de BOF:
  1. Maak een nieuwe Win32 Console toepassing in Microsoft Developer Studio en geef deze de naam XlVer.
  2. C++ bronbestand (. cpp) toevoegen aan het project en voeg de volgende code naar het bronbestand:
       #include <windows.h>   #include <stdio.h>   int XLVersionThatWroteFile(char *filename) {      // Translate filename to Unicode      WCHAR wcFilename[1024];      int i = mbstowcs(wcFilename, filename, strlen(filename));      wcFilename[i] = 0;      // Open the document as an OLE compound document      IStorage *pStorage;      HRESULT hr;      hr = ::StgOpenStorage(wcFilename, NULL,                 STGM_READ | STGM_SHARE_EXCLUSIVE, NULL, 0, &pStorage);      if(FAILED(hr)) return 0;      // Open the data-stream where Microsoft Excel stores the data      IStream *pStream;      hr = pStorage->OpenStream(L"Workbook", NULL,         STGM_READ | STGM_SHARE_EXCLUSIVE, 0, &pStream);      // If "Workbook" does not exist, try "Book"      if(FAILED(hr)) {         hr = pStorage->OpenStream(L"Book", NULL,              STGM_READ | STGM_SHARE_EXCLUSIVE, 0, &pStream);      }      if(FAILED(hr)) {         pStorage->Release();         return 0;      }      // Get rupBuild & rupYear      short rupBuild, rupYear;      LARGE_INTEGER off;      ULARGE_INTEGER newPos;      off.QuadPart = 8;      pStream->Seek(off, STREAM_SEEK_SET, &newPos);      DWORD bytesRead;      pStream->Read(&rupBuild, 2, &bytesRead);      pStream->Read(&rupYear, 2, &bytesRead);      // Let go of the IStorage pointer      pStorage->Release();      // Excel 8.0's rupyear = 1996      if(rupYear == 1996) return 8;      // Excel 9.0 comes after Excel 8.0...      if(rupYear > 1996) return 9;      // Excel 5.0's rupyear < 1994      if(         (rupYear < 1994) ||         // Excel 5.0 & 7.0 have rupYear=1994 for some versions...         (rupBuild == 2412) || (rupBuild == 3218) || (rupBuild == 3321)      ) return 5;      // All that's left is Excel 7.0      return 7;   }   void main(int argc, char **argv) {      if(argc != 2) {         printf("Usage: XLVER filename.xls");      }      else {         printf("Excel version = %d", XLVersionThatWroteFile(argv[1]));      }   }					
  3. Compileren, en zoeken naar een xls-bestand op uw computer en start het programma als volgt:

    XlVer.exe myfile.x
Referenties
Raadpleeg het volgende artikel in de Microsoft Knowledge Base voor meer informatie:

178605 Hoe u kunt bepalen welke versie van een Microsoft Excel-werkmap

Waarschuwing: dit artikel is automatisch vertaald

Eigenschappen

Artikel-id: 225029 - Laatst bijgewerkt: 12/05/2015 13:50:36 - Revisie: 2.0

Microsoft Excel 2000 Standard Edition, Microsoft Excel 2002 Standard Edition, Microsoft Excel 97 Standard Edition, Microsoft Excel 5.0 Standard Edition, Microsoft Excel 95 Standard Edition

  • kbnosurvey kbarchive kbhowto kbmt KB225029 KbMtnl
Feedback