Gewusst wie: bestimmen die Version von Excel geschriebene eine Arbeitsmappe

Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.

Den englischen Originalartikel können Sie über folgenden Link abrufen: 225029
Dieser Artikel wurde archiviert. Er wird im vorliegenden Zustand bereitgestellt und nicht mehr aktualisiert.
Zusammenfassung
Dieser Artikel beschreibt die Version von Microsoft Excel zu ermitteln, die eine bestimmte Arbeitsmappe geschrieben wurden.
Weitere Informationen
Microsoft Excel speichert Daten mithilfe von strukturierten Speicher. Insbesondere erstellt er einen Datenstrom "Workbook" (vorher nur "Book") bezeichnet, in dem der Inhalt, beginnend mit einem Anfang der Datei (BOF) Datensatz gespeichert. Dieser Datensatz enthält nützliche Attribute von der Arbeitsmappe sowie die Version. Der folgende Microsoft Visual C++-Code veranschaulicht, wie eine Datei öffnen, lesen und Zurückgeben der Version Anzahl basierend auf der BOF wird:
  1. Erstellen Sie eine neue Win32-Konsolenanwendung im Microsoft Developer Studio, und nennen Sie Sie XlVer.
  2. Dem Projekt eine C++-Source-Datei (.cpp) hinzufügen und fügen Sie den folgenden Code zur Quelldatei:
       #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. Kompilieren Sie, ein, und dann gefunden Sie eine XLS-Datei auf Ihrem Computer und führen Sie das Programm wie folgt aus:

    XlVer.exe myfile.x
Informationsquellen
Weitere Informationen finden Sie in der folgenden Artikel der Microsoft Knowledge Base:

178605 How To Determine the Version of a Microsoft Excel Workbook

Warnung: Dieser Artikel wurde automatisch übersetzt.

Eigenschaften

Artikelnummer: 225029 – Letzte Überarbeitung: 12/05/2015 13:50:31 – Revision: 4.5

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 kbmt kbhowto KB225029 KbMtde
Feedback