USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  CRIAR TABELA NO MS-WORD USANDO O VB
Henrique Ribas
não registrado
Postada em 02/12/2006 11:42 hs   

Prezados Amigos,

 

Estou desenvolvendo um projeto em VB que deve gerar um documento em MS-Word. Para isto, estou usando a biblioteca “Microsoft Word 10.0” como referência.

 

Defini uma variável:

    Dim Word_VB As New Word.Application

 

E percebi que este meu novo objeto Word_VB tem uma propriedade chamada “Tables”, que pertence a “Selection”. Porém não estou conseguindo construir a minha tabela utilizando esta propriedade.

 

Alguém saberia me informar um site, ou onde posso encontrar documentação para poder construir esta tabela? É que preciso definir o tamanho das colunas, espessura e tudo mais. Se alguém também souber de um código que sirva de exemplo também seria legal.

 

Bom final de semana e grande abraço a todos.

Henrique

     
CSRocha
BRASILIA
DF - BRASIL
Postada em 02/12/2006 14:20 hs            
No Word, crie uma macro na qual você cria uma tabela, estabeleça medidas, formate parágrafos, etc. Salve a macro. Depois, abra a macro e estude o código gerado. Esse código será usado no VB, dentro do objeto Word criado.

Cmece com uma macro simples primeiro para estudar e se ambientar, pois a criação de tabela gera um código bem extenso e um tanto complexo.
     
Ama
Pontos: 2843
UBERLÂNDIA
MG - BRASIL
Postada em 02/12/2006 14:23 hs         
        If CSng(txtTabela(0) * txtTabela(2)) > "7,61" Then
        MsgBox "Para esta quantidade de colunas a largura máxima de cada coluna" & vbCrLf _
                & "Deve ser de " & CSng(7.61) / CLng(txtTabela(0)) & "  Polegadas", 64, Me.Caption
        txtTabela(2) = CSng(7.61 / txtTabela(0))
        End If
        Set objWord = New Word.Application
        Set objDocument = objWord.Documents.Add
        objWord.Visible = True
        'Informa o proprio documento como Range para
        'montagem da tabela
        contCol = CLng(txtTabela(0))
        contRow = CLng(txtTabela(1))
        Set objtabela = objDocument.Tables.Add(objDocument.Range, contRow, contCol)

        For nCont = 1 To contCol
            objtabela.Columns(nCont).Width = objWord.InchesToPoints(CSng(txtTabela(2)))
        Next nCont
        For contRow = 1 To Val(txtTabela(1))
            For contCol = 1 To Val(txtTabela(0))
                objtabela.Cell(contRow, contCol).Range.ParagraphFormat.Alignment = wdAlignParagraphLeft
                objtabela.Cell(contRow, contCol).Range.ParagraphFormat.Borders.OutsideLineStyle = wdLineStyleSingle
                objtabela.Cell(contRow, contCol).Range.Text = "Insira aqui seu texto"
            Next contCol
        Next contRow

        'fecha aplicativo e limpa memoria
        Set objtabela = Nothing
        Set objDocument = Nothing
        objWord.Quit wdDoNotSaveChanges
        Set objWord = Nothing
   
TrataErro:
    If Err.Number = 32555 Then Exit Sub
    MsgBox Err.Number & "  " & Err.Description

Problema solucionado = click no cadeado para post encerrado!!!!!!!!!
     
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página