EXPORTAR LISTVIEW PARA DOC WORD

KURTGU 17/03/2015 20:35:44
#445306
Pessoal tenho uma aplicacao de teste aqui que esta funcionando corretamente ela exporta os textbox para um doc word corretamente....Tentei adicionar os items de um listview mais nao consegui alguem poderia me ajudar...Como eu disse ele exporta normalmente os textbox mais tentei exportar o listview mais so vai a primeira linha....

Imports Microsoft.Office.Interop
Imports Microsoft.Office.Interop.Word

Public Class Form1
Dim objword As Microsoft.Office.Interop.Word.Application
Dim objdoc As Microsoft.Office.Interop.Word.Document

Private Sub dados(ByVal header As String, ByVal data As String)

With objword.Selection.Find
.ClearFormatting()
.Text = header
.Execute()
.Forward = True
End With
Clipboard.Clear()
Clipboard.SetText(data)
objword.Selection.Paste()
Clipboard.Clear()

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
objword = New Microsoft.Office.Interop.Word.Application

[ô]Aqui voce define aonde esta o arquivo de exemplo com os parametros.
objdoc = objword.Documents.Open([Ô]C:\01.docx[Ô])

Call dados([Ô]@nome[Ô], txtnome.Text)
Call dados([Ô]@endereco[Ô], txtend.Text)
Call dados([Ô]@telefone[Ô], txtel.Text)

[ô]Aqui voce escolhe aonde voce ira salva-lo voce pode usar um savefiledialog
objword.ActiveDocument.SaveAs2([Ô]C:\[Ô] & txtnome.Text & [Ô].docx[Ô])
MsgBox([Ô]Arquivo gerado com sucesso!![Ô])

objword = Nothing
End Sub
End Class
WEBMASTER 18/03/2015 09:39:13
#445311
Resposta escolhida
Provavelmente voce precisa de um foreach para cada linha do listview ser considerada e a partir dai incrementar tua variavel
KURTGU 18/03/2015 14:21:52
#445322
WEBMASTER Vlw pela resposta e isso mesmo e que nao estou sabendo implementar esse loop pra ele fazer isso...
KURTGU 18/03/2015 14:48:29
#445325
WebMaster seguindo seu sabio conselho consegui fazer funcionar... Mais agora surgiu outro problema ele coloca tudo em uma linha kkkkk

objword = New Microsoft.Office.Interop.Word.Application
objdoc = objword.Documents.Open([Ô]C:\01.docx[Ô])

Call dados([Ô]@nome[Ô], txtnome.Text)
Call dados([Ô]@endereco[Ô], txtend.Text)
Call dados([Ô]@telefone[Ô], txtel.Text)

For Each myItem As ListViewItem In ListView1.Items
Call dados([Ô]@lista[Ô], ([Ô]id: [Ô] & myItem.Text & [Ô]Nome Produto: [Ô] & myItem.SubItems(1).Text & [Ô]Quantidade: [Ô] & myItem.SubItems(2).Text))
Next

objword.ActiveDocument.SaveAs2([Ô]C:\02.docx[Ô])
MsgBox([Ô]Arquivo gerado com sucesso!![Ô])

objword = Nothing

NICKOSOFT 18/03/2015 14:54:38
#445326
tentou concatenar o vbCrLf onde quer a quebra de linha?
KURTGU 18/03/2015 14:57:01
#445328
NICKOSOFT FIZ DE OUTRA FORMA Mais poderia postar aonde adiciono no codigo acima esse comando que voce passou...
Tópico encerrado , respostas não são mais permitidas