Como navegar objectos do Excel a partir do Visual Basic

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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática… erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 147650
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
Sumário
Este artigo explica os três métodos que pode utilizar para navegar e aceder a objectos de aplicação do Microsoft Excel:

  • Utilizar propriedades longhand e predefinido
  • Utilizar o aliasing
  • Utilizando os métodos principal e de aplicação de objectos do Microsoft Excel versão 5.0 para aceder a qualquer objecto do Microsoft Excel
Mais Informação
Cada objecto no Microsoft Excel versão 5.0 algures existe na hierarquia da aplicação de objectos. Escolher entre estes objectos navegando para baixo de hierarquia da aplicação. Na parte superior desta hierarquia é o objecto aplicação. Os acontecimentos ou acções atribuir ao objecto Application afectam o aplicativo inteiro. Por exemplo:
   ' Close the application   [Object].Application.Quit				
substituir [objecto] por qualquer variável que aponta para qualquer objecto de aplicação de Excel Microsoft válido, que pode ser criada a partir do seguinte exemplo:
   ' MyObject represents [Object] and OLE1 represents an OLE control   ' that contains an Microsoft Excel Worksheet object.   MyObject = OLE1.Object   Set MyObject = CreateObject("Excel.Sheet")   Set MyObject = GetObject("C:\EXCEL\EXAMPLES\SAMPLES.XLS")				
aplicação o objecto contém outros objectos grandes. Por exemplo, pode utilizar o seguinte código para fazer referência à colecção de livros actualmente carregados no Microsoft Excel:
   [Object].Application.Workbooks				
se pretende obter um único livro a partir da colecção, utilize o método de produto. Por exemplo, para consultar primeiro livro:
    [Object].Application.Workbooks.Item(1)				
para fechar o primeiro livro:
   [Object].Application.Workbooks.Item(1).Close				

Aceder a objectos com referência Longhand ou propriedades predefinido

Cada livro contém um conjunto de folhas de cálculo, cada uma das folhas de cálculo contém uma colecção de células e assim sucessivamente. (Consulte a documentação do Microsoft Excel e ajuda do menu para detalhes específicos sobre hierarquia de objectos do Microsoft Excel). No código, referências a uma célula específica foi este aspecto:
   ' Following refers to cell A1 on Sheet1 in the first workbook.   ' Enter the following two lines as one, single line:   [Object].Application.Workbooks.Item(1).      WorkSheets.Item("Sheet1").Cells.Item(1,1)				
esta referência pode ser demorado e complexo; no entanto, estão disponíveis atalhos. Noções sobre o operador de navegação (.) é fundamental para programação do objecto com êxito.

Cortar Short

Todos os objectos de ter uma propriedade predefinida e o método. Para recolhas (colecções), o método predefinido é o método produto. Para a maior parte dos objectos, a propriedade de nome é a propriedade predefinida. Esta convenção foi implementada para simplificar a programação. Por exemplo, o exemplo anterior pode ser simplificado para:
   [Object].Application.Workbooks(1).WorkSheets("Sheet1").Cells(1,1)				

Aceder a objectos pelos objectos de aliasing

Pode utilizar o aliasing para simplificar a programação do objecto. Se pretender escrever código que foi manipular Folha1 muita, por exemplo, a sintaxe poderia tornar-se demorada. Para evitar esta situação, crie um objecto que aponta para o objecto comum mais baixo. Isto é conhecido como aliasing. Utilize a instrução Set para criar um alias:
   Dim Sheet1 as Object   ' Alias Sheet1 to represent [Object]...WorkSheets("Sheet1")   Set Sheet1 = [Object].Application.Workbooks(1).WorkSheets("Sheet1")   ' Now just use the variable Sheet1 to refer to Sheet1.   Sheet1.Cells(1,1).Value = "Title"   Sheet1.Cells(1,2).Value = "ID"   Sheet1.Cells(1,3).Value = "Cost"   Sheet1.Cells(2,1).Value = "Phone"   Sheet1.Cells(2,2).Value = 123413423   Sheet1.Cells(2,3).Value = 89.95				

Aceder a objectos utilizando métodos de aplicação e principal

Os métodos principal e aplicações permitem-lhe navegar cópia de segurança a hierarquia de objectos. O método de aplicação retrocede para o objecto de aplicação e o método principal navega para um nível da hierarquia do objecto acima. Os exemplos neste artigo foi iniciado com [objecto]. Desde que [objecto] é um objecto válido do Microsoft Excel, todas as instruções serão também válidas. Independentemente do contexto de [objecto].

Isto é muito útil quando estiver a programar no objecto do Microsoft Excel a partir do Visual Basic versão 4.0. O Microsoft Excel expõe apenas os três objectos que podem ser utilizados como pontos de entrada para o Microsoft Excel. Estes são:

  • Excel.Application
  • Excel.folha
  • Excel.gráfico
Não confundir por Excel.Application.5. Excel.Application sempre irá apontar para a versão mais recente do Microsoft Excel. Excel.Application.5 irá apontar apenas para o Microsoft Excel versão 5.0.

Não existe nenhum objecto de livro exposto, para não há nenhuma forma de aceder directamente ao objecto de livro. No entanto, isto não é um problema porque o método principal de um objecto folha de cálculo ou gráfico devolve o objecto de livro. O código de exemplo seguinte ilustra este ponto.

NOTA: oleExcel é um controlo OLE que contém um objecto Excel.folha.
   ' Declare object references:   Dim Xlapp As object   Dim XLWkb As object   Dim XLWks As object   Dim XLWksNew As object   oleExcel.Action = 7   ' Activate OLE Object   Set XLWks = oleExcel.Object   ' Alias Worksheet object   Set XLWkb = XLWks.Parent      ' Alias WorkBook object   Set Xlapp = XLWks.Application ' Alias Application object   ' Add a new worksheet to the Workbook and name it:   Set XLWksNew = XLWkb.Worksheets.add  ' Assign alias to new Worksheet   XLWksNew.Name = "VB4 OLE Automation" & XLWkb.Worksheets.count   ' Make the 3rd Worksheet of the Workbook active:   XLWkb.Worksheets(3).Activate   ' Display the dialog for InsertPicture:   Xlapp.dialogs(342).[Show]  ' xlDialogInsertPicture = 342				
Referências
Office Development Kit, soluções de integração de programação
officeinterop w_VBApp W_Excel WM_OLE OA de automatização OLE

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 147650 - Última Revisão: 12/04/2015 14:15:28 - Revisão: 2.3

Microsoft Visual Basic 4.0 Professional Edition, Microsoft Visual Basic 4.0 16-bit Enterprise Edition, Microsoft Excel 5.0 Standard Edition

  • kbnosurvey kbarchive kbmt kb16bitonly kbhowto kbprogramming KB147650 KbMtpt
Comentários