You are on page 1of 5

  Utilizador existente?

Inicie sessão  Registe-se

Mais Pesquisar... 

IRC Wiki Revista PROGRAMAR  Actividade  Home 

 Home  Fórum  Desenvolvimento Geral  Visual Basic Clássico  [Resolvida] Exportação RecordSet para planilha Excel  Actividade Recente

[Resolvida] Exportação RecordSet  Inicie sessão para seguir isto Seguidores 1

para planilha Excel


Por jbatista, 23 de Outubro de 2008 em Visual Basic Clássico
vb



jbatista Publicado 23 de Outubro de 2008 Denunciar mensagem 

Olá pessoal

Alguem pode me ajudar?

Consegui exportar os dados de um RecordSet do VB6 para o Excel,


0
Agora como faço para configurar as propriedades tamanho, cores

e bordas de CÉLULAS na planilha, por programação ?

jpaulino Publicado 23 de Outubro de 2008 Denunciar mensagem 

Olá,

Como é que a exportação para Excel, usando Early Binding ou Late Binding ?

Early Binding (exemplo):


 97

 Dim xlApp As Excel.Application

Late Binding (exemplo):

Dim objApp As Object


Set objApp = CreateObject("Excel.Application")

É que o código é um pouco diferente em nos diferentes métodos. Se poder mostrar o seu código de
exportação é 5 estrelas.

Um abraço,

Jorge Paulino

José Lopes Publicado 23 de Outubro de 2008 Denunciar mensagem 


Aviso Sobre Cookies
Viva Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar  Aceito
Ao usar este site você aceita os nossos
funcionalidades personalizadas. Para mais informações visite esta página.
Já algum tempo que tenho andado sem cá vir (bue da programação), e hoje este tópico chamou-me a
atenção.

JPaulino... assim sucintamente qual a diferença entre as duas opções... sei que eu uso bue...tanto para
excel como para Word... mas estou a usar o Late Bindig.... e uma thread para mostrar que a informação
1 está a ser processada...

 obrigado

Quando te pedirem peixe.... ensina-os a Pescar!!Hum..lálálálá!!

jpaulino Publicado 23 de Outubro de 2008 Denunciar mensagem 

Olá José Lopes,

Já tinha visto que tens estado ausente

Retirado de um pequeno artigo que escrevi no meu blog "VB.NET: Exportar DataGridView para Excel"
 97 fala para VB.NET mas aplica-se a VB6 (na maioria).

 Espero que ajuda a clarificar um pouco.

Early Binding vs Late Binding

Para realizar automação através do VB.NET, e para explicar um pouco as principais diferenças, existem
dois métodos que se podem utilizar: Late Binding e Early Binding.

O Late Binding utiliza o CreateObject() para criar uma nova instância do Excel ou o GetObject() para
manipular uma instância já criada. Um exemplo das suas utilizações:

‘ Criar uma nova instância do Excel


Dim objExcelApp As Object
objExcelApp = CreateObject("Excel.Application")

‘ Manipular uma instância já criada


Dim objExcelApp As Object

objExcelApp = GetObject(, "Excel.Application")

As suas principais vantagens são:

Independente da versão utilizada, ou seja, não é específico para uma versão e pode ser utilizado
tanto na versão 97 do Excel com na 2007. Existem incompatibilidades entre versões e um código
desenvolvido em Excel 2003 provavelmente não funcionará em Excel 2007 (por exemplo);
Redução do tamanho do projecto, ou seja, quanto mais referências forem adicionadas ao
projecto, maior a tamanho do mesmo e mais demorado é o tempo de compilação;
Alguns ambientes de programação não permitem adicionar referências ao projecto;

Para utilizar o método Early Binding é necessário adicionar a referência à livraria a utilizar (ex. Microsoft
Excel 11.0 Object Library).

Aviso Sobre Cookies ‘ Criar uma nova instância do Excel


 Aceito
Dim objExcelApp
Ao usar este site você aceita os nossos Termos As de
de Uso e Política NewPrivacidade.
Excel.Application
Este site usa cookies para disponibilizar
funcionalidades personalizadas. Para mais informações visite esta página.
As principais vantagens são:

O código é mais rápido uma vez que é compilado antes da execução. Utilizando o Late Binding o
código é compilado quando é executado reduzindo o performance;
Acesso ao intellisense o que permite aceder às constantes, métodos, objectos, etc. Com o Late
Binding o programar é “às cegas”;
Permite detectar erros no código antes da execução, através do debug, uma vez que este é
compilado;

Por estas diferenças, e sempre que possível, é recomendável a utilização do Early Binding.

jbatista Publicado 24 de Outubro de 2008 Denunciar mensagem 

Agradeco a todos pela atenção

( Contente também pois a dúvida re-uniu amigos progrmadores )

Respondendo a JPaulino, o código é Late Binding e passo a transcreve-lo -


0
embora a declaraçãp (primeira linha) fez pensar ao contrário

Na realidade o núcleo desse foi trazido de amigos progrmadores na Internet

....(Dados Cadastrais do Cliente : Razao Social, Endereço, ... pego da Class


'ate linha 18 da planilha
contadorDelinha = 20

wSheet.Range("A7:G17").Select
'abaixo não funcionou ..
'With Selection
' .Font.Name = "Verdana"
' .FontStyle = "Bold"
' .Size = 9
'End With
ListaRsAux
End Sub

'AQUI O QUE INTERESSA ...


Sub ListaRsAux
Dim j as Integer
Dim col as Integer
contadorDeLinha = contadorDeLinha + 1
rsAux.MoveFirst
For i = 0 to rsAux.recordCount -1
wSheet.Cells(contadorDeLinha, 1) = rsAux!Fields(0) ' Nr Docu
wSheet.Cells(contadorDeLinha, 2) = rsAux!Fields(1) ' Data
wSheet.Cells(contadorDeLinha, 3) = rsAux!Fields(2) 'Responsav
lngOS_ID = rsAux("ID_DOC")
clsOS_I.busca_Itens lngOS_ID
'Na classe preencho uma Array(Coleção ???) referente ao doc MES

DUVIDAS:

COMO ABRIR NOVA PLANILHA SE OS ITENS ULTRAPASSEREM O NUMERO DE LINHAS


NO PAPEL ?

COMO CARREGAR O LOGO ?


Aviso Sobre Cookies
COMO COLORIR AS CELULAS ?  Aceito
Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar
funcionalidades personalizadas. Para mais informações visite esta página.
Obrigado a todos
jpaulino Publicado 26 de Outubro de 2008 Denunciar mensagem 

Desculpa o atraso na resposta

>> 'AQUI VAI + UMA PERGUNTA : COMO CARREGAR O LOGOTIPO

' Posição onde vai ser inserido o logotipo


 97
wSheet.Range("A1").Select

appExcel.Activesheet.Pictures.Insert "c:\logotipo.jpg"

>> COMO COLORIR AS CELULAS ?

' Preenche a célula a amarelo

With wSheet.Range("A1").Interior

.ColorIndex = 6

.Pattern = 1

End With

>> COMO ABRIR NOVA PLANILHA SE OS ITENS ULTRAPASSEREM O NUMERO DE LINHAS NO


PAPEL ?

Se o array for superior ao número de linhas, crias uma nova worksheet e começas a carregar lá os
dados

Se tiveres dúvidas diz!

jpaulino Publicado 11 de Novembro de 2008 Denunciar mensagem 

Há novidades ?

 97



jpaulino Publicado 28 de Novembro de 2008 Denunciar mensagem 

Por falta de informação do utilizador e por existirem respostas aceitáveis à pergunta efectuada, esta
questão foi marcada como resolvida.

Jorge Paulino

 97



jbatista Publicado 17 de Dezembro de 2008 Denunciar mensagem 

Aviso Sobre Cookies desculpem por "desaparecer" (mas o filho bom 'a casa torna)
 Aceito
Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar
Quero deixar aqui meus agradecimentos 'a toda colaboração
funcionalidades personalizadas. Para mais informações visite esta página.
Ainda estou trabalhando na planilha que está em fase de acabamento

Somente uma observação : não sei porque o bendito cliente não quiz

em Crystal Report - até fiz mas ele não aceitou.

0
JBatista

Crie uma conta ou ligue-se para comentar


Só membros podem comentar

Criar nova conta Entra


Registe para ter uma conta na nossa comunidade. É fácil! Já tem conta? Inicie sessão aqui.

Registar nova conta Entrar Agora

 IR PARA LISTA DE TÓPICOS


Visual Basic Clássico

        

 Home  Fórum  Desenvolvimento Geral  Visual Basic Clássico  [Resolvida] Exportação RecordSet para planilha Excel  Actividade Recente

Idioma  Política de Privacidade Termos de Uso Contacte-nos


Powered by Invision Community
Hosted by Linode

Aviso Sobre Cookies


 Aceito
Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar
funcionalidades personalizadas. Para mais informações visite esta página.

You might also like