Os arquivos Dsofile.dll permite que você edite propriedades de documento do Office quando você não tem o Office instalado

Traduções deste artigo Traduções deste artigo
ID do artigo: 224351 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

O arquivo de exemplo Dsofile.dll é um componente do ActiveX em processo para programadores que usam Microsoft Visual Basic .NET ou o Microsoft .NET Framework. Você pode usar isso em seus aplicativos personalizados para ler e editar as propriedades de documento OLE que são associadas a arquivos do Microsoft Office, como o seguinte:
  • Pastas de trabalho do Microsoft Excel
  • Apresentações do Microsoft PowerPoint
  • Documentos do Microsoft Word
  • Projetos do Microsoft Project
  • Desenhos do Microsoft Visio
  • Outros arquivos que são salvos no formato de armazenamento estruturado OLE
O arquivo de exemplo Dsofile.dll está escrito em Microsoft Visual C++. O arquivo de exemplo Dsofile.dll demonstra como usar a interface Ole32 IPropertyStorage para acessar propriedades estendidas de arquivos de armazenamento estruturado OLE. O componente converte os dados em tipos de dados amigável de automação para uso mais fácil por linguagens, como Visual Basic 6.0, Visual Basic .NET e translation from VPE for Csharp de programação de alto nível. O arquivo de exemplo Dsofile.dll é fornecido com o código-fonte completo e inclui clientes exemplo escritos em Visual Basic 6.0 e Visual Basic .NET 2003 (7.1).

Mais Informações

Exemplo de componente ActiveX para download

Os seguintes arquivos estão disponíveis para download no Centro de download da Microsoft:
Recolher esta imagemExpandir esta imagem
Download
Download the DsoFileSetup_KB224351_x86.exe package now.
Você tem um direito de royalties para usar, modificar, reproduzir e distribuir o componente de arquivo de exemplo Dsofile.dll e arquivos código-fonte C++ de qualquer forma que útil. Isso é desde que você concorda que Microsoft tem nenhuma garantia, sem obrigações e não responsabilidade para seu uso ou para as informações fornecidas. O código de origem e de componente é fornecido livre de encargos para apenas a fins educacionais e é considerado uma amostra. Se você desejar usar o componente ou qualquer parte dele, em uma solução de produção, você é responsável por revisar, para modificar, para testar e para o componente de suporte por conta própria.

Aviso O Dsofile.dll, o código-fonte e as amostras associadas são fornecidas "como estão" sem garantia de qualquer tipo, expressas ou implícitas, inclusive mas não limitada às garantias implícitas de comercialização e/ou adequação a uma finalidade específica. O uso de sua responsabilidade.

Observação Para ler e editar documentos do Office 2007 usando esse exemplo, você deve instalar o pacote de compatibilidade do 2007 Office. Para obter mais informações, consulte a seção "Recursos".

Informações sobre propriedades de documento OLE

Cada documento composto de OLE pode armazenar informações adicionais sobre o documento em conjuntos de propriedades persistentes. Eles são coletivamente chamados de "documento resumo propriedades". Esses conjuntos de propriedades são gerenciados pelo "COM/OLE" para que clientes de terceiros podem ler essas informações sem o auxílio do aplicativo principal que é responsável para o arquivo.

Para ajudar os desenvolvedores que estejam interessados na leitura de propriedades do documento, nós fornecemos as duas interfaces a seguir para gerenciar conjuntos de propriedades:
  • IPropertySetStorage
  • IPropertyStorage
No entanto, alguns idiomas de programação de alto nível podem ter problemas ao usar essas interfaces, porque as interfaces não são compatíveis com automação. Para resolver esse problema, os desenvolvedores podem use uma DLL ActiveX, como a "DsoFile amostra" para ler e gravar as propriedades mais comuns que são usadas em documentos compostos de OLE. Isso se aplica especialmente aqueles que são usados por aplicativos do Microsoft Office.

Usar o componente DsoFile do seu aplicativo personalizado

O arquivo de exemplo Dsofile.dll lê e grava as propriedades padrão e as propriedades personalizadas de qualquer arquivo de "Armazenamento estruturado OLE". Isso inclui, mas não está limitado a, o seguinte:
  • Documentos do Word
  • Pastas de trabalho do Excel
  • Apresentações do PowerPoint
Por causa do tamanho e a velocidade do arquivo de exemplo Dsofile.dll, a DLL pode ser muito mais eficiente do que tentar automatizar o Office para ler as propriedades de documento.

Para usar o componente, definir uma referência à biblioteca de tipos Dsofile é chamada de "DSO OLE documento propriedades leitor 2.1." O componente pode ser usado para chamadas atrasadas e chamadas de limite iniciais. o arquivo de exemplo Dsofile.dll tem somente um objeto que pode ser criado. Esse objeto é denominado DSOFile.OleDocumentProperties . O objeto DSOFile.OleDocumentProperties fornece acesso às propriedades de documento OLE de um arquivo que carregar usando o método Open . Todas as propriedades são ler e armazenados em cache em Abrir. Todas as propriedades são então disponibilizadas através do objeto OleDocumentProperties para edição. As propriedades só são gravadas volta para o arquivo quando você chamar Salvar . Quando tiver terminado editar um arquivo, chamada Fechar para liberar o arquivo de bloqueio.

As propriedades OLE padrão e as propriedades de resumo do Office padrão podem ser obtidas da propriedade SummaryProperties . Propriedades personalizadas são listadas na coleção CustomProperties . Cada propriedade personalizada tem um nome exclusivo. Cada propriedade personalizada está acessível a coleção com esse nome. Você pode adicionar ou remover propriedades individuais. Além disso, você pode enumerar toda a coleção inteira, usando a sintaxe "For Each" no Visual Basic. NET.

Quando o método Open for chamado, o objeto OleDocumentProperties chamado Dsofile tenta abrir o documento para acesso de leitura e gravação acesso. Se o arquivo tiver sido marcado somente leitura ou se os arquivos estiver localizado em um compartilhamento NTFS só fornece acesso de leitura, a chamada pode falhar. Você receberá a seguinte mensagem de erro:
Erro 70: Permissão negada
Se você deseja abrir o arquivo para acesso de leitura somente, passe True para o parâmetro ReadOnly no método Open . Além disso, você pode passar o sinalizador dsoOptionOpenReadOnlyIfNoWriteAccess se você desejar Dsofile para tentar abrir o arquivo para edição. No entanto, se o Dsofile não é possível acessar porque arquivo é somente leitura ou está bloqueado por outro processo, abri uma cópia somente leitura. Em seguida, você pode verificar se o documento é aberto somente leitura usando a propriedade IsReadOnly .

Depois que uma propriedade tenha sido alterada ou modificada, você pode usar a propriedade IsDirty para verificar se o conjunto de propriedades deve ser salvo. As alterações feitas não são gravadas para o arquivo até Salvar é chamado. Se não chamar de Salvar suas alterações são perdidas em Fechar .

Juntamente com as mensagens de erro de automação padrão, Dsofile pode retornar uma das seguintes mensagens de erro personalizada quando algo dá errado:
Erro-2147217151 (& H80041101): Você deve abrir um documento para executar a ação solicitada.
Erro-2147217150 (& H80041102): Você deve fechar o documento atual antes de abrir uma nova no mesmo objeto.
Erro-2147217149 (& H80041103): O documento está em uso por outro programa e não pode ser aberto para acesso de leitura / gravação.
Erro-2147217148 (& H80041104): O documento não é um arquivo OLE e não suporta propriedades do documento estendidas.
Erro-2147217147 (& H80041105): O comando não está disponível porque o documento foi aberto no modo somente leitura.
Erro-2147217146 (& H80041106): O comando está disponível para apenas arquivos de armazenamento estruturado OLE.
Erro-2147217145 (& H80041107): O objeto não está conectado ao documento (ele foi removido ou o documento foi fechado).
Erro-2147217144 (& H80041108): Não é possível acessar propriedade porque o conjunto pertence a não existe.
Erro-2147217143 (& H80041109): A propriedade solicitada não existe na coleção.
Erro-2147217142 (& H8004110A): Um item com esse nome já existe na coleção.

Conjuntos de propriedades de Unicode

Conjuntos de propriedades OLE pode armazenar seqüências de caracteres no formato Unicode ou no formato de seqüência de caracteres de Multi-Byte (MBCS) com uma página de código especificada. O Dsofile pode ler e gravar qualquer tipo de conjunto de propriedades. Por padrão, o Dsofile seleciona Unicode quando Dsofile cria novos conjuntos, como ao adicionar propriedades a um arquivo que não possui nenhum. Se você desejar Dsofile para criar o conjunto usando o formato MBCS para seqüências de caracteres, você pode passar o sinalizador dsoOptionUseMBCStringsForNewSets o método Open .

Como conjuntos de propriedades existentes podem usar o formato MBCS, Dsofile tem que armazenar seqüências de caracteres no mesmo formato durante um salvamento. Se você tentar adicionar uma seqüência de caracteres que não é possível mapear para a página de código para o conjunto de propriedades, a operação poderá falhar. Portanto, limite suas seqüências de caracteres que você sabe que existe na página de código do sistema que fez o arquivo. Como alternativa, verifique se todos os conjuntos de propriedades estão no formato Unicode antes de editar essas propriedades.

Observação O Dsofile não converte uma propriedade MBCS existente definida como Unicode. Você precisará modificar o exemplo se você deseja adicionar essa capacidade.

Etapas para configurar e testar a DLL

A instalação de extração automática instala e registra o componente DsoFile.dll em um local que você deseja. A instalação de extração automática também instala dois aplicativos de teste do Visual Basic .NET que demonstram como usar o componente e todo o código de origem.

Se você mover a DLL para outro local ou a outro computador, você precisará registrar novamente a DLL antes de usá-lo novamente. Para fazer isso, digite regsvr32 [filepath]\dsofile.dll na caixa de diálogo Executar , no menu Iniciar .

Para executar o exemplo, execute estas etapas:

Para uma demonstração de 6.0 Visual Basic

  1. Abra o projeto de exemplo Visual Basic 6.0 chamado as follows:

    .\Source\Vb6Demo\PropDemo.vbp
  2. Certifique-se de Dsofile.dll foi referenciado corretamente. Para fazer isso, selecione referências no menu projeto . Verifique se se uma referência está definida para DSO OLE documento propriedades leitor 2.1 .
  3. Pressione F5 para executar o projeto.
  4. Quando você for solicitado a abrir um arquivo de documento composto, selecione um arquivo apropriado e observe que suas propriedades de documento são exibidas.

Para um Visual Basic 2003 (7.1) ou para uma demonstração do Visual Basic 2005 (8.0)

  1. Abra o projeto Visual Basic 7.1 chamado as follows:

    .\Source\Vb7Demo\FilePropDemoVB7.sln

    Você pode abrir este projeto no 7.1 ambos Visual Basic no Visual Studio .NET 2003 ou no Visual Basic 8.0 no Visual Studio 2005.
  2. Se você for solicitado a converter automaticamente a solução para o formato 8.0, clique em Sim e siga o Assistente para converter o projeto.
  3. Pressione F5 para compilar e executar o projeto Visual Basic.
  4. Quando o formulário for exibido, clique em Abrir .
  5. Selecione um arquivo do Office apropriado e clique em OK .

    Observe que as propriedades de documento do arquivo Office aparecem na caixa de diálogo. Você pode editar as propriedades do documento.

Referências

O componente Dsofile.dll foi atualizado para ler e editar propriedades de documento para arquivos do Microsoft Office 2007, se você instalar também o pacote de compatibilidade do 2007 Office. Para baixar e instalar o pacote de compatibilidade, visite o seguinte site:
http://www.microsoft.com/downloads/details.aspx?FamilyID=941b3470-3ae9-4aee-8f43-c6bb74cd1466
Para obter informações adicionais sobre como ler propriedades de documento do Visual C++, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
186898Como ler propriedades de documento composto diretamente com VC ++

Propriedades

ID do artigo: 224351 - Última revisão: quarta-feira, 13 de junho de 2007 - Revisão: 9.3
A informação contida neste artigo aplica-se a:
  • 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 Excel 2003
  • Microsoft Office PowerPoint 2003
  • Microsoft Office Word 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
Palavras-chave: 
kbmt kbdownload kbautomation kbfile kbinfo kbpersistst KB224351 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 224351

Submeter comentários

 

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