26. juni 2005 - 20:22
Der er
1 løsning
automatiser word-fletning med csv-filer
Jeg kan godt flette en wordskabelon med en csv-fil, men når da jeg har 100 csv-filer vil jeg gerne kunne skrive noget kode der gør det for mig.
Håber der er nogen der kan hjælpe.
Fik hjælp til følgende løsning:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim filename As Object
filename = "sti/flettefil.doc"
Dim isVisible As Object = True
Dim missing As Object = System.Reflection.Missing.Value
Dim aDoc As Word.Document
Dim form As Object = System.Text.Encoding.Default
For Each csv As String In ListBox1.Items
WordApp = New ApplicationClass
WordApp.Visible = True
aDoc = WordApp.Documents.Open(filename, missing, False, missing, _
missing, missing, missing, missing, missing, missing, missing, isVisible)
aDoc.Activate()
WordApp.ActiveDocument.MailMerge.OpenDataSource(csv)
WordApp.ActiveDocument.MailMerge.Destination = WdMailMergeDestination.wdSendToNewDocument
WordApp.ActiveDocument.MailMerge.MainDocumentType = WdMailMergeMainDocType.wdFormLetters
WordApp.ActiveDocument.MailMerge.Execute(True)
WordApp.ActiveDocument.SaveAs(csv.ToLower().Replace(".csv", ".doc"))
WordApp.ActiveDocument.Close(False)
WordApp.ActiveDocument.Close(False)
WordApp.Quit()
Next
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
openFileDialog1.Multiselect = True
openFileDialog1.InitialDirectory = "sti/"
If openFileDialog1.ShowDialog = DialogResult.OK Then
For Each xx As String In openFileDialog1.FileNames
ListBox1.Items.Add(xx)
Next
End If
End Sub