Windows Azure Cloud Storage ermöglicht es Ihnen bereits ab 0,10€ pro GB/Monat die Vorteile der Cloud zu nutzen.
Willkommen bei dotnet-snippets.de! Snippet hinzufügen Login Registrieren
Snippets in der Datenbank: 1551 | Anzahl registrierter User: 1841 | Besucher online: 52
Hauptmenü
Home
Top Ten
Zufälliger Snippet
FAQs
.NET Community
dotnet-forum.de
dotnet-kicks.de
Social

RSS Feeds
Rss Alle Snippets
Rss C#
Rss VB.NET
Rss C++
Rss ASP.NET
Partner
Member of Microsoft Community Leader/Insider Program (CLIP)

Excel auslesen und in Word einfügen


Autor: Heiko Franke
Sprache: VB.NET
Bewertung: 5,8
(1 Bewertung)
Anzahl der Aufrufe: 22429
  
Kick it on dotnet-kicks.de  

Beschreibung:

Excelzelle wird ausgelesen und in eine
Textmarke in Word eingefügt.


Abgelegt unter: Word, Excel, vb.net.



Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
'                       Demonstration einer Excel + Word Kombination in VB.net
'                       Hierzu wird eine Excelzelle ausgelesen und an eine Textmarke in Word weitergegeben.
'                       (C)   Heiko Franke Dipl. Wirtschaftsinformatiker / FH 
'                       h.franke@wirtschaftssoft.de

Imports System.Runtime.InteropServices
Imports Microsoft.Office.Interop.Word
Imports System.IO
Public Class Form1
    Dim strFileName As String
    Dim txt As String

    Private Function word_doc(ByVal textmarke As String, ByVal textm_value As String)
        Dim word As New Microsoft.Office.Interop.Word.Application
        Dim doc As Microsoft.Office.Interop.Word.Document
        Try
            'word.Visible = (True) 'Word sehen zum Test?
            doc = word.Documents.Open("c:\\schreiben.dot")
            doc.Activate()
            If doc.Range.Bookmarks.Exists(textmarke) Then
                doc.Bookmarks().Item(textmarke).Range.Text = textm_value
            Else
                MessageBox.Show("Textmarke nicht vorhanden!")
            End If
            doc.SaveAs("c:\\test.doc")
            doc.Close()
            MessageBox.Show("Datei erstellt")
        Catch ex As IOException
            MessageBox.Show("Datei am deklarierten Ort nicht vorhanden.")
        Finally
            word.Application.Quit()
        End Try
        Return (0)
    End Function

    Function excel(ByVal row As String)
        Dim Excel1 As New Microsoft.Office.Interop.Excel.Application
        Try
            Excel1.Workbooks.Open("C:\datei.xls")
            'Excel1.Visible = True ' zum testen ganz hilfreich!
            txt = Excel1.Range(row).Value()
            ' MessageBox.Show(txt)
        Catch ex As IOException
            MessageBox.Show("Datei am deklarierten Ort nicht vorhanden.")
        Finally
            Excel1.Application.Quit()
        End Try
        Return (0)
    End Function

    Public Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        ' Funktionsaufrufe
        excel("A2")                                        ' excel (Zelle)
        word_doc("Kundenname", txt)      ' dok( Textmarke, Inhalt)
    End Sub
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    End Sub
End Class
Sie haben Fragen zu diesem Snippet oder brauchen Hilfe bei der .NET Entwicklung?
Freundliche und kompetente Entwickler helfen Ihnen gern weiter im Forum für .NET Entwicklung.



Kommentare:
(Zum Schreiben von Kommentaren bitte anmelden.)

cheaptrick_la schrieb am:  11.12.2009 11:24:24

Hallo,

ich suche nach einem Snippet, das eine bestimmte Mappe einer Excel-Datei in eine SQL-Server-Datenbanktabelle kopiert.
Die Excel-Datei wird monatlich aus SAP erzeugt und die jeweils benötigte hat immer einen anderen Namen aber die Mappen-Reihenfolge bleibt erhalten, so dass ich die Mappe über ihre Nummer ansprechen muss. Erschwerend kommt noch hinzu das einige Feldnamen nicht den SQL-Server (2008) Namenskonventionen entsprechen.

Kann mir da jemand weiter helfen?
Programmiersprache sollte VB.net oder C# sein.

Gruß

cheapy
Gordon Breuer schrieb am:  11.12.2009 23:11:25

@cheapy: Hier ist ein eher ungeeigneter Ort um solche Fragen zu stellen, zumal es kaum einer sehen wird. Schau aber doch mal auf der Partnerseite www.dotnet-forum.de vorbei, da helfen wir dir dann gerne weiter! :)

Gruß, Gordon
Bilko schrieb am:  25.03.2010 11:50:57

Hey Heiko
vllt. kannst du mir helfen. Und zwar: wenn ich den Code übernehme, dann sind relativ viele Dinge nicht definiert (Microsoft.Office.Interop.Word.Application; Microsoft.Office.Interop.Word.Document; Microsoft.Office.Interop.Excel.Application)

Die Programme von Office sind jedoch installiert. Woran kann das liegen? (Ist version 2003 von Office und habs vor dem VB 2008 installiert)

Danke schon mal im Vorraus



schlecht sehr gut
1 2 3 4 5 6 7 8 9 10
Nur angemeldete User können Snippets bewerten.