Файлы Dsofile.dll позволяет изменить свойства документа Office, если у вас не установлен Microsoft Office

Переводы статьи Переводы статьи
Код статьи: 224351 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Аннотация

Пример файла Dsofile.dll является компонентом ActiveX в процессе для программистов, использующих Microsoft Visual Basic .NET и Microsoft .NET Framework. Это можно использовать в пользовательских приложениях для чтения и редактирования свойств документа OLE, которые связаны с файлами Microsoft Office, такие как:
  • Книги Microsoft Excel
  • Презентации Microsoft PowerPoint
  • Документы Microsoft Word
  • Проекты Microsoft Project
  • Рисунки Microsoft Visio
  • Другие файлы, сохраненные в формате OLE структурированного хранилища
Пример файла Dsofile.dll записывается в Microsoft Visual C++. Пример файла Dsofile.dll демонстрируется использование OLE32IPropertyStorageинтерфейс для доступа к расширенные свойства OLE структурированных файлов хранилища. Компонент преобразует данные в типы данных, понятное автоматизации для использования более высокого уровня, в языках программирования, таких как Visual Basic 6.0, Visual Basic .NET и C#. Пример файла Dsofile.dll дается полный исходный код и включает пример клиенты, написанные на Visual Basic 6.0 и Visual Basic .NET 2003 (7.1).

Дополнительная информация

Загрузить образец компонент ActiveX

Следующие файлы доступны для загрузки из Центра загрузки Майкрософт::
Свернуть это изображениеРазвернуть это изображение
Загрузка
Загрузите пакет DsoFileSetup_KB224351_x86.exe.
Вы имеете право бесплатно использовать, изменять, воспроизвести и распространять Dsofile.dll образец файла компонента и файлы исходного кода C++ любыми способами, которые полезны. Это происходит при условии, что вы согласны, корпорация Майкрософт нет гарантии, нет никаких обязательств и не несет ответственности для их использования или сведения, приведенные в. Компонент и исходный код предоставляется освободить расходов для целей обучения и считается образец. Если требуется использовать в решении производства, компонента или любую часть его, вы несете ответственность за просмотра, изменения, для тестирования, а также для поддержки компонентов вручную.

ПредупреждениеDsofile.dll исходного кода и связанные примеры предоставляются «как есть» без гарантий любого рода, или подразумеваемых, включая, но не ограничиваясь подразумеваемые гарантии товарности или пригодности для определенной цели. Использовать на свой страх и риск.

Примечание.Читать и редактировать документы Office 2007 с помощью этого примера необходимо установить пакет обеспечения совместимости Office 2007. Дополнительные сведения содержатся в разделе «Ресурсы».

Сведения о свойствах документа OLE

Дополнительные сведения о документе можно сохранить наборы свойств постоянного каждого составного документа OLE. Они называются «Сводка свойства документа." Эти наборы свойств управляются "COM/OLE", таким образом, чтобы клиенты сторонних можно прочитать эту информацию без помощи основного приложения, который отвечает за его.

To help developers that are interested in reading document properties, we have provided the following two interfaces to manage property sets:
  • IPropertySetStorage
  • IPropertyStorage
However, some high-level programming languages may have trouble using these interfaces because the interfaces are not Automation-compatible. To resolve this problem, developers can use an ActiveX DLL, such the "DsoFile sample" to read and to write the most common properties that are used in OLE compound documents. This applies particularly those that are used by Microsoft Office applications.

Use the DsoFile component from your custom application

The Dsofile.dll sample file reads and writes to both the standard properties and the custom properties from any "OLE Structured Storage" file. This includes, but is not limited to, the following:
  • Word documents
  • Excel workbooks
  • PowerPoint presentations
Because of the size and the speed of the Dsofile.dll sample file, the DLL can be much more efficient than trying to Automate Office to read document properties.

To use the component, set a reference to the Dsofile type library that is named "DSO OLE Document Properties Reader 2.1." The component can be used for both late calls and early bound calls. the Dsofile.dll sample file has only one object that can be created. That object is namedDSOFile.OleDocumentProperties. надписьюDSOFile.OleDocumentPropertiesobject provides access to the OLE document properties of a file you load by using theOPENметод. All properties are read in and cached on open. All properties are then made available through theOleDocumentPropertiesobject for editing. The properties are only written back to the file when you callСохранить. When you are done editing a file, callЗакрытьto release the file lock.

The standard OLE properties and the standard Office Summary properties can be obtained from theSummaryPropertiesСвойство. Custom properties are listed in theCustomPropertiesКоллекция. Each custom property has a unique name. Each custom property is accessible in the collection by that name. You can add or remove individual properties. Also, you can enumerate through the entire collection by using the "For Each" syntax in Visual Basic .NET.

КогдаOPENmethod is called, theOleDocumentPropertiesobject that is named Dsofile tries to open the document for both read access and write access. If the file has been marked read-only or if the files is located on an NTFS share that only provides Read access, the call may fail. You may receive the following error message:
Error 70: Permission denied
If you want to open the file for read access only , passTruefor theReadOnlyparameter on theOPENметод. Additionally, you can pass thedsoOptionOpenReadOnlyIfNoWriteAccessflag if you want Dsofile to try to open the file for editing. However, if Dsofile cannot gain access because file is read-only or is locked by another process, open a read-only copy. Then, you can verify whether the document is opened read-only by using theIsReadOnlyСвойство.

Once a property has been changed or modified, you can use theIsDirtyproperty to verify whether the property set has to be saved. Changes that are made are not written to the file untilСохранитьis called. If you do not callСохранить, your changes are lost onЗакрыть.

In addition to the standard Automation error messages, Dsofile can return one of the following custom error messages when something goes wrong:
Error -2147217151 (&H80041101): You must open a document to perform the action requested.
Error -2147217150 (&H80041102): You must close the current document before opening a new one in the same object.
Error -2147217149 (&H80041103): The document is in use by another program and cannot be opened for read-write access.
Error -2147217148 (&H80041104): The document is not an OLE file, and does not support extended document properties.
Error -2147217147 (&H80041105): The command is not available because document was opened in read-only mode.
Error -2147217146 (&H80041106): The command is available for OLE Structured Storage files only.
Error -2147217145 (&H80041107): The object is not connected to the document (it was removed or the document was closed).
Error -2147217144 (&H80041108): Cannot access property because the set it belongs to does not exist.
Error -2147217143 (&H80041109): The property requested does not exist in the collection.
Error -2147217142 (&H8004110A): An item by that name already exists in the collection.

Unicode Property Sets

OLE Property Sets can store strings in either Unicode format or in Multi-Byte Character String (MBCS) format with a specified code page. Dsofile can read and write to either type of property set. By default, Dsofile selects Unicode when Dsofile creates new sets, such as when adding properties to a file that has none. If you want Dsofile to create the set by using MBCS format for strings, you can pass thedsoOptionUseMBCStringsForNewSetsflag in theOPENметод.

Because existing property sets may use MBCS format, Dsofile has to store strings in the same format during a save. If you try to add a string that is unable to map into the code page for the property set, the operation may fail. Therefore, limit your strings to characters that you know exist in the code page of the system that made the file. Alternatively, make sure that all property sets are in Unicode format before you edit those properties.

Примечание.Dsofile не выполняет преобразование существующего свойства многобайтовые Кодировки, значение в Юникод. Необходимо изменить образец, если требуется добавить эту возможность.

Действия для настройки и тестирования библиотеки DLL

Самораспаковывающийся программа установки устанавливает и регистрирует компонент DsoFile.dll в расположении, которое требуется. Самораспаковывающийся установки также устанавливает два тестовые приложения Visual Basic .NET, демонстрирующих способы использования компонента и исходный код.

При перемещении библиотеки DLL в другое место или на другой компьютер, необходимо повторно зарегистрировать библиотеки DLL, перед тем как использовать еще раз. <a0>$$$$</a0><a1>$$$$</a1>:<a2>$$$$</a2>regsvr32 [filepath]\dsofile.dllВ диалоговом окнеВыполнитьдиалоговое окно вSTART ::меню.

Чтобы запустить образец, выполните следующие действия.

Для Visual Basic 6.0 демонстрации

  1. Открытие образца проекта Visual Basic 6.0 с именем следующим образом:

    .\Source\Vb6Demo\PropDemo.vbp
  2. Убедитесь, что Dsofile.dll правильно ссылается. Для этого выберитеСсылкив менюProjectменю. Проверьте, установлен ли для ссылкиЧтения свойства документа OLE DSO 2.1.
  3. Для запуска проекта нажмите клавишу F5..
  4. При появлении запроса на открытие файла составной документ, выберите нужный файл и обратите внимание, что отображаются его свойства документа.

Для Visual Basic 2003 (7.1) или для демонстрации Visual Basic 2005 (8.0)

  1. Откройте проект Visual Basic 7.1, называется следующим образом:

    .\Source\Vb7Demo\FilePropDemoVB7.sln

    Этот проект можно открыть в любом 7.1 Visual Basic в Visual Studio .NET 2003 или в Visual Basic 8.0 в Visual Studio 2005.
  2. Если будет предложено решения будет автоматически преобразован в формат версии 8.0, нажмите кнопкуДА.и следуйте инструкциям мастера, чтобы преобразовать проект.
  3. Нажмите клавишу F5 для компиляции и запуска проекта Visual Basic.
  4. Когда появится форма, нажмите кнопкуOPEN.
  5. Выберите соответствующий файл Office и нажмите кнопкуOk..

    Обратите внимание, что свойства документа в файл Office отображаются в диалоговом окне. Можно изменить свойства документа.

Ссылки

Dsofile.dll компонент был обновлен для чтения и изменения свойств документов для файлов Microsoft Office 2007, кроме того, после установки пакета обеспечения совместимости Office 2007. Для загрузки и установки пакета обеспечения совместимости, посетите следующий веб-узел корпорации Майкрософт:
http://www.microsoft.com/downloads/details.aspx?familyid=941b3470-3ae9-4aee-8f43-c6bb74cd1466
За дополнительной информацией о том, как для чтения свойства документа из Visual C++ щелкните следующий номер статьи базы знаний Майкрософт:
186898Как прочитать свойства составных документов непосредственно с VC ++

Свойства

Код статьи: 224351 - Последний отзыв: 16 ноября 2010 г. - Revision: 2.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Visual Basic 2005
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Studio 6.0 Enterprise Edition
  • Microsoft Office Excel 2007
  • Microsoft Office PowerPoint 2007
  • Microsoft Office Word 2007
  • Microsoft Office Visio Professional 2007
  • Microsoft Office PowerPoint 2003
  • Microsoft Office Visio Professional 2003
  • Microsoft Office Project Professional 2003
  • Microsoft Excel 2002 Standard Edition
  • Microsoft PowerPoint 2002 Standard Edition
  • Microsoft Word 2002 Standard Edition
  • Microsoft Visio 2002 Professional Edition
  • Microsoft Project 2002 Standard Edition
Ключевые слова: 
kbdownload kbautomation kbfile kbinfo kbpersistst kbmt KB224351 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:224351

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com