Jak ustalić, która wersja programu Excel został napisany skoroszytu

WAŻNE: Ten artykuł nie został przetłumaczony przez człowieka, tylko przez oprogramowanie do tłumaczenia maszynowego firmy Microsoft. Firma Microsoft oferuje zarówno artykuły tłumaczone przez ludzi, jak i artykuły tłumaczone maszynowo, dzięki czemu każdy użytkownik może uzyskać dostęp do całej zawartości bazy wiedzy Knowledge Base we własnym języku. Prosimy jednak pamiętać, że artykuły przetłumaczone maszynowo nie zawsze są doskonałe. Mogą zawierać błędy słownictwa, składni i gramatyki, przypominające błędy robione przez osoby, dla których język użytkownika nie jest językiem ojczystym. Firma Microsoft nie odpowiada za wszelkie nieścisłości, błędy lub szkody spowodowane nieprawidłowym tłumaczeniem zawartości oraz za wykorzystanie tej zawartości przez klientów. Oprogramowanie do tłumaczenia maszynowego jest często aktualizowane przez firmę Microsoft.

Anglojęzyczna wersja tego artykułu to:225029
Ten artykuł został zarchiwizowany. Jest oferowany „taki, jaki jest” i nie będzie już aktualizowany.
Streszczenie
W tym artykule przedstawiono sposób określania wersji programu Microsoft Excel, która zarejestrowała danego skoroszytu.
Więcej informacji
Program Microsoft Excel zapisuje dane za pomocą składowania strukturalnego. W szczególności gotworzy strumień danych o nazwie "Skoroszytu" (wcześniej tylko "Book") w przypadku gdyZapisuje zawartość, począwszy od początku pliku (BOF) rekordu. Torekord zawiera przydatne atrybuty skoroszytu, jak i wersji.Poniższy kod języka Microsoft Visual C++ ilustruje sposób do otwarcia pliku,ją przeczytać, a zwraca numer wersji, oparte na BOF:
  1. Utwórz nową aplikację konsoli systemu Win32 w programie Microsoft Developer Studio i nadaj mu nazwę XlVer.
  2. Dodawanie pliku źródłowego języka C++ (CPP) do projektu i Dodaj następujący kod do pliku źródłowego:
       #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. Skompilować, a następnie znajdź plik .xls na tym komputerze i uruchom następujący program:

    XlVer.exe myfile.x
Materiały referencyjne
Aby uzyskać dodatkowe informacje zobacz następujący artykuł z bazy wiedzy Microsoft Knowledge Base:

178605 Jak określić wersję programu Microsoft Excel

Ostrzeżenie: ten artykuł przetłumaczono automatycznie

Właściwości

Identyfikator artykułu: 225029 — ostatni przegląd: 12/05/2015 13:50:37 — zmiana: 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 KbMtpl
Opinia