Ir para conteúdo
Fórum Script Brasil
  • 0

Jogar conteudo de msflexgrid em arquivos


Macêdo

Pergunta

Vamos pegar os dados de uma tabela do BD que aparecem no Msflexgrid ou MsHflexgrid e salvar em arquivos como Word, Excel, HTML, Txt, PowerPoint etc

No Form coloque um TextBox, um MsHflexgrid ou Msflexgrid e um Botão

No general Declarations do Form declare:

Dim cnn As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim rs As New ADODB.Recordset
No evento Form_Load vamos abrir a conexão com o BD, carregar o recordset e preencher o MshflexGrid com os dados do "rs"
Private Sub Form_Load()
'abrindo a conexão com o Banco BD que esta na mesma pasta do projeto
cnn.ConnectionString = "provider = microsoft.jet.oledb.4.0;" & _
"data Source = " & App.Path & "\BD.mdb;"
cnn.CursorLocation = adUseClient
cnn.Open

'carregando o recordset com campos desejados da tabela
With cmd
    .ActiveConnection = cnn
    .CommandType = adCmdText
    .CommandText = "select campo1, campo2, campo3 from tabela"
    Set rs = .Execute
End With
'carregando o Mshflex com o recordset
With rs
    Set MSHFlexGrid1.DataSource = rs
End With

End Sub
agora vamos criar a Sub que vai gerar o arquivo desejado no caminho que iremos informar no textbox
Private Sub gerar_arquivo(ByVal strFilename As String, ByRef msFlex As MSHFlexGrid)

Const SEPARATOR_CHAR As String = " "

Dim intFreeFile As Integer
Dim strLine As String
Dim r As Integer
Dim c As Integer

intFreeFile = FreeFile

Open strFilename For Output As #intFreeFile

With msFlex
    ' cada linha
     For r = 0 To .Rows - 1
      strLine = ""
        ' cada coluna
        For c = 0 To .Cols - 1
          strLine = strLine & IIf(c = 0, "", SEPARATOR_CHAR) & .TextMatrix(r, c)
        Next c

       Print #intFreeFile, strLine
    Next r
End With

Close #intFreeFile
End Sub
Agora vamos ao botão que chamará a sub para gerar nosso arquivo
Private Sub Command1_Click()
Call gerar_arquivo(Text1.Text, MSHFlexGrid1)
   MsgBox "Arquivo " & Text1.Text & " Salvo com sucesso !", vbInformation
End Sub

Agora você deve estar perguntando, e para gerar no Word, Excel, HTML ?, o esquema está no TextBox, é nele que você vai digitar o caminho da pasta onde quer criar seu arquivo, vai colocar o nome do arquivo e o tipo de arquivo, assim:

Quer gerar um arquivo do Word? digite na text:

C:\Arquivos de programas\MeuArquivo.Doc

Quer gerar um arquivo Txt? digite na text:

C:\Arquivos de programas\MeuArquivo.Txt

Quer criar uma planilha no Excel? digite na text:

C:\Arquivos de programas\MeuArquivo.xls

HTML?

C:\Arquivos de programas\MeuArquivo.html

Taí pode ser util...

Macêdo

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...