Warum kostenlos registrieren?

Nur als registriertes Mitglied hast Du vollen Zugriff auf alle Funktionen unserer Website. So kannst Du eigene Fragen stellen und hast die volle Übersicht über neue interessante Themen im Forum.
Jetzt kostenlos registrieren.

Login


Word mit Excel verbinden!

Alles über Betriebssysteme, Anwenderprogramme und andere Software-Probleme.

Word mit Excel verbinden!

Beitragvon Deathrow am 04.08.2005, 11:46

Hallo!
Für unsere Buchungsabteilung soll das Auftragmanagement erleichtert werden. Ich soll in Word eine Auftragserteilung erstellen mit Auftragsnummer, Datum, Preis etc. .Diese Daten sollen von einem beliebigen Mitarbeiter eingetragen werden. Nun sollen die eingegebenen Werte in eine Excel Tabelle übergeben werden. Das Word Dokument sollte dann mit den Daten gedruckt werden und nach dem Druck und der Datenübergabe wieder im Urzustand sein.

Meine Frage ist, wie stelle ich es an das von Word die Daten an Excel weitergegeben werden und dort fortlaufend an eine Tabelle angefügt werden.
Die normale Verknüpfung von Word und Excel ist eh klar nur reicht das nicht. Ich will nur dass die Daten die in dem Word Formular eingetippt werden in eine beliebige Tabelle in Excel dann eingefügt werden.

Für Tipps oder Tutorials wäre ich sehr dankbar.

Mfg
Deathrow
Deathrow
 
Beiträge: 12
Registriert: 04.08.2005, 11:44


Beitragvon Porsche Fan am 04.08.2005, 15:57

Hallo Deathrow,
wie sieht dein Word-Dokument denn aus? Stehen die Daten da auch in einer Tabelle oder arbeitest du da mit Formularfeldern?

Das ganze kann (könnte) über VBA aus Word heraus realisiert werden. Hab ich auf diesem Weg zwar auch noch nie gemacht, ich nehme für solche Sachen lieber Access, müsste aber gehen.
Porsche Fan
 
Beiträge: 160
Registriert: 02.08.2005, 00:52

Beitragvon Deathrow am 05.08.2005, 08:35

hi!
ja ich arbeite hier mit formular feldern. kannst du mir genauer erklären wie das gehn soll?

thx schon im voraus!

mfg
Deathrow
 
Beiträge: 12
Registriert: 04.08.2005, 11:44

Beitragvon Porsche Fan am 05.08.2005, 11:23

Hallo Deathrow,
sieh dir mal folgenden Link an. Vielleicht ist es ja das was du suchst.

http://www.excel-center.de/foren/read.php?2,25647,25647#msg-25647

Man muss das Rad ja nicht neu erfinden. Sollte es das nicht sein melde dich nochmal.
Porsche Fan
 
Beiträge: 160
Registriert: 02.08.2005, 00:52

Beitragvon Deathrow am 05.08.2005, 11:47

hallo!
ja das ist das was ich suche!
also, das ist der code den ich brauche:

Sub t()
Dim wdApp As Object
Dim wdDoc As Object
Dim fld As Field
Dim iZeile As Long, iSpalte As Integer
Dim WS As Worksheet

Set WS = ThisWorkbook.Worksheets("Tabelle1")
Set wdApp = CreateObject("Word.Application")
Set wdDoc = wdApp.Application.Documents.Open("C:\DATA\test.doc")

iSpalte = 0
iZeile = WS.Range("A65536").End(xlUp).Row + 1

For Each fld In ActiveDocument.Fields
iSpalte = iSpalte + 1
WS.Cells(iZeile, iSpalte) = fld.Result
Next fld

wdApp.Quit
Set wdApp = Nothing
Set wdDoc = Nothing
End Sub

Nur hab ich keinen Plan wo ich den einfügen soll und wie ich das mache dass dieser Code ausgeführt wird und somit das Formular Feld in die Excel Tabelle einträgt.
Kannst mir da vielleicht helfen?

Thx schon im voraus

Mfg
Deathrow
Deathrow
 
Beiträge: 12
Registriert: 04.08.2005, 11:44

Beitragvon Porsche Fan am 05.08.2005, 11:54

Hallo Deathrow,
hier eine kleine Anleitung:

Arbeitsmappe öffnen,
Mit Alt + F11 in den Visual Basic Editor wechseln,

Dort sollte jetzt in etwa folgendes Bild (oben) auftauchen
http://www.don-key.de/excel/excel.htm

Nun einen DoppelClick auf 'Diese Arbeitsmappe' (Bild unten)

Nun kannst du denn Code in das rechte Fenster kopieren.

Denn Visual Basic Editor schliessen, Datei speichern.

Mit Alt + F8 werden die Makros nun aufgezeigt. Makro auswählen und dann ausführen.


Hoffe es ist verständlich
Porsche Fan
 
Beiträge: 160
Registriert: 02.08.2005, 00:52

Beitragvon Deathrow am 05.08.2005, 13:26

hallo!
danke für die schnellen antworten.
folgendes problem...jetzt weiß ich zwar wie ich das mit den codes mache aber anscheinend funzt der nicht!
er gibt mir nen fehler bei: "Dim fld As Field" Benutzerdefinierter Typ nicht deklariert! Was immer das auch bedeuten soll oO!

Hast du eine Idee?

Mfg
Manuel
Deathrow
 
Beiträge: 12
Registriert: 04.08.2005, 11:44

Beitragvon Porsche Fan am 05.08.2005, 14:12

Hallo Deathrow,
hast du im Visual-Basic-Editor unter Extras/Verweise die Microsoft Office 9.0 Object Library aktiviert?

Habe mir den Code jetzt selbst mal installiert. In der folgenden Version läuft er bei mir.

Code: Alles auswählen
Sub t()
Dim wdApp As Object
Dim wdDoc As Object
Dim fld As Field
Dim iZeile As Long, iSpalte As Integer
Dim WS As Worksheet

  On Error GoTo ErrorExit

  Set WS = ThisWorkbook.Worksheets("Tabelle2")
  Set wdApp = CreateObject("Word.Application")
  Set wdDoc = wdApp.Application.Documents.Open("C:\data\test.doc")
  wdDoc.Unprotect

  iSpalte = 0
  iZeile = WS.Range("A65536").End(xlUp).Row + 1

  For Each fld In wdDoc.Fields
    iSpalte = iSpalte + 1
    WS.Cells(iZeile, iSpalte) = fld.Result
  Next fld

ErrorExit:
  wdApp.Quit
  Set wdApp = Nothing
  Set wdDoc = Nothing
End Sub
Porsche Fan
 
Beiträge: 160
Registriert: 02.08.2005, 00:52

Beitragvon Deathrow am 05.08.2005, 14:30

hmm...fehler hab ich nun behoben! doch das funzt irgendwie nich so ganz...weißt du vielleicht noch eine andere lösung mittels vba??

mfg
deathrow
Deathrow
 
Beiträge: 12
Registriert: 04.08.2005, 11:44

Beitragvon Porsche Fan am 05.08.2005, 14:49

Wo liegt denn das Problem? Vielleicht kannst du mir das noch mitteilen bevor ich mir was anderes überlege.

Wäre für mich auch hilfreich wenn ich mal eine Version deiner Dateien hätte, anonymisiert natürlich.
Porsche Fan
 
Beiträge: 160
Registriert: 02.08.2005, 00:52

Beitragvon Deathrow am 05.08.2005, 15:20

das Problem liegt darin dass wenn ich das makro nun ausführe gar nichts passiert oO!
ich glaube der code taugt doch nix.
deswegen hätte ich gerne eine andere lösung :(!

Mein Word Formular ist ein Standard Formular mit den Formular Feldern ;)! Und ich will´s so haben wenn ich nun das Word Formular neu ausfülle, es mir dann automatisch die eingetippten daten in die fortlaufenden Excel Tabellen einfügt. Und das immer wieder wenn ich ein neues Formular schreibe.

Hast du da vielleicht eine Idee?

Thx schon im voraus

Mfg
Freakthrow[/img]
Deathrow
 
Beiträge: 12
Registriert: 04.08.2005, 11:44

Beitragvon Porsche Fan am 05.08.2005, 15:56

Deathrow hat geschrieben:das Problem liegt darin dass wenn ich das makro nun ausführe gar nichts passiert oO!
ich glaube der code taugt doch nix.
deswegen hätte ich gerne eine andere lösung :(!


Hallo Deathrow,
ich glaube da tust du dem ursprünglichen Entwickler unrecht. Er hat mit seinem Code schon jemandem geholfen (siehe Artikel) und bei mir funktioniert er auch.

Aber ich werde mir was überlegen wie ich dir helfen kann.
Porsche Fan
 
Beiträge: 160
Registriert: 02.08.2005, 00:52

Beitragvon Porsche Fan am 08.08.2005, 23:11

Hallo Deathrow,
habe das ganze jetzt mal aus Word heraus realisiert. Schicke mir doch bitte deine Mailadresse, dann kann ich dir die Datei mal zukommen lassen.

Falls sich das Problem schon erledigt hat, wäre es nett wenn du mir das auch mitteilen könntest.
Porsche Fan
 
Beiträge: 160
Registriert: 02.08.2005, 00:52

Beitragvon Deathrow am 12.08.2005, 09:04

hi!
ja..kannst du mir plz die dateien schicken.

mail gebe ich dir dann per pn!

mfg
Deathrow
 
Beiträge: 12
Registriert: 04.08.2005, 11:44

Beitragvon Deathrow am 09.08.2006, 09:11

hi...also hätte hier wieder folgendes problem: Das ist zurzeit mein Code:

Code: Alles auswählen
Sub Transfer_Data()
Dim xlApp As Object
Dim xlWBook As Object
Dim fld As FormField
Dim nRow As Long
Dim nCol As Integer

  Set xlApp = CreateObject("excel.Application")
  Set xlWBook = xlApp.Workbooks.Open(FileName:="C:\XXX") 'Hier den Pfad zur Exceldatei eintragen
  xlWBook.Application.Visible = True
  xlWBook.Application.Sheets("Tabelle1").Select
  nRow = xlWBook.Application.Range("A65536").End(xlUp).Row + 1
 
  ActiveDocument.Unprotect
 
  nCol = 1
 
  xlWBook.Application.Cells(nRow, 1).Value = ActiveDocument.FormFields("datum").Result
  xlWBook.Application.Cells(nRow, 2).Value = ActiveDocument.FormFields("depot").Result
  xlWBook.Application.Cells(nRow, 3).Value = ActiveDocument.FormFields("anzahl").Result
  xlWBook.Application.Cells(nRow, 4).Value = ActiveDocument.FormFields("gattung").Result
  If ActiveDocument.FormFields("best").Result = 1 Then
    xlWBook.Application.Cells(nRow, 5).Value = "Best"
  Else
    xlWBook.Application.Cells(nRow, 5).Value = ActiveDocument.FormFields("preis").Result
  End If
 
  ActiveDocument.Protect (wdAllowOnlyFormFields)
  ActiveDocument.Fields(1).Select
 
  xlWBook.Close savechanges:=True 'Hier kann man einstellen ob Excel wieder geschlossen wird.
End Sub


Jetzt habe ich aber das Problem dass sich das Word Dokument immer wieder in den leeren Zustand versetzt wenn ich auf Transfer Data gehe. Wie ändere ich den Code damit die Daten die ich im Formular eingetippt habe nach Transfer Data im Word Dokument bestehen bleiben? Thx schon im voraus!

Mfg
Deathrow
Deathrow
 
Beiträge: 12
Registriert: 04.08.2005, 11:44

Nächste


Ähnliche Themen


Zurück zu Software-Hilfe

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste