hundertwasser
Goto Top

word-datei inhalte in excel uebernehmen

selektierter bereich eines word-dokuments in geöffnete excel-blatt speichern (von excel aus)

Hallo
ich habe eine excel-arbeitsmappe mit ca. 20 datenblatter

in einzelnen zeilen sin adressen von Worddokumenten hinterlegt.

diese öffne ich per vba aus excel raus ... klappt auch alles nun selektiere ich einen bereich klappt auch.
nun mein Problem : Wie bekomme ich den selektierten bereich in eine definierte zelle.

Dank an alle die mir helfen können

Content-Key: 22628

Url: https://administrator.de/contentid/22628

Printed on: April 25, 2024 at 18:04 o'clock

Mitglied: 16568
16568 Jan 02, 2006 at 15:52:37 (UTC)
Goto Top
Was meinst Du mit:
"Wie bekomme ich den selektieren Bereich in eine Zelle"?

Den Zelleninhalt kopieren (also den Link zum File), oder die Wertigkeit?
Sollte nämlich gar kein Problem sein...


Lonesome Walker
Member: hundertwasser
hundertwasser Jan 02, 2006 at 15:53:34 (UTC)
Goto Top
das was in der word datei steht.
Mitglied: 13100
13100 Jan 02, 2006 at 16:50:43 (UTC)
Goto Top
ich nix verstehen, aber vielleicht ein seriendruck der als
worddokument ausgegeben wird?

gib uns mal anständig details, was, wer, wie, wo und warum,
dann kann man dir besser zielgerichtet helfen.

denk daran, wir sehen nich was du siehst. daher ergeben sich,
allein schon, bei der obigen beschreibung, fragen wie:
wo wird selektiert?
was wird selektier?
wie sieht das seleketierte aus?
...

beispieldaten sind auch immer gerne gesehen.

reden wir von einer datenbank-selektion oder von einer
manuellen auswahl, wie man sie von kopiervorgängen her
kennt?
Mitglied: 8644
8644 Jan 02, 2006 at 16:56:48 (UTC)
Goto Top
Hi hundertwasser,

jetzt muß ich aber auch mal meckern!
Das sind doch keine Infos! Normalerweise macht es mir Spaß, Excel-Nüsse zu knacken, aber mit versteinerten Kokosnüssen kann keiner was anfangen!

Psycho
Mitglied: 16568
16568 Jan 02, 2006 at 17:36:44 (UTC)
Goto Top
Sorory, Leutelz, aber ich hab's verstanden.

Er will die Word-Datei-Inhalte in Excel einlesen, und diese dann irgendwie weiterverwenden.

Simpel.
Bastel gerade an einer effizienten Lösung, die nicht an Sonderzeichen scheitert...


Lonesome Walker
Mitglied: 13100
13100 Jan 02, 2006 at 17:46:45 (UTC)
Goto Top
ja, dat haben wir glaub ich alle verstanden, aber möglichkeiten
gibt es viele. bissal konkreter wer schon schön, oder geht's nur
mir so, na ja.
Member: hundertwasser
hundertwasser Jan 03, 2006 at 07:28:15 (UTC)
Goto Top
Danke erstmal für alle Antworten face-smile

Lonesome Walker hatt mich verstanden....

ich möchte aus einer aus einer geöffneten excel-arbeitsmappe gestartete Word datei einen Markierten Abschnitt in die geöffnete arbeitsmappe übernehmen.

Excel-arbeitsmappe - blatt1 feld A5 befragung_09_01_2001.doc -> öffnen

worddatei.find.....
if .find then
schreibe .selection in aktive excelmappe feld B5

Na ich wiß nicht ob das jetzt verständlicher ist?

was ich wissen möchte ist wie bekomme ich den selectierten bereich aus der aktiven worddatei in die active exceldatei in Feld xyz der gleichen reihe.

Danke
Mitglied: 16568
16568 Jan 03, 2006 at 09:19:28 (UTC)
Goto Top
Okay, am besten weist Du diesen Wert einer Variablen zu.

Zuerst diese Variable deklarieren

Dim [Variablenname] As [Deklarationstyp]

reicht aber auch nur

Dim [Variablenname]


später weist Du dieser Variable dann den Wert dieser Selektion zu

[Variablenname] = [Selektion]


Und um es ganz rund zu machen, kannst Du auch ein Code-Schnipsel hier posten, mit dem Du die Selektion machst.

Dann schreibe ich es hier ausführlich, und Du mußt nur noch copypaste machen face-big-smile


Lonesome Walker
Member: hundertwasser
hundertwasser Jan 03, 2006 at 09:28:39 (UTC)
Goto Top
hier die function:

Function WordDatei_öffnen(worddatei As String)
Dim objWW As Object

On Error Resume Next
Set objWW = GetObject(, "Word.Application.9")

If Err.Number <> 0 Then
Err.Clear
Set objWW = CreateObject("Word.Application.9")
Else
objWW.Activate
End If

' das gewünschte Dokument öffnen
objWW.Documents.Add worddatei
'alles markieren
objWW.ActiveDocument.Select

'hier nun zu excel


End Function

was muß ich jetzt wo machen damit ich es in die excel-tabelle reinbekomme

wenn ich es mit copy / paste mache dann setzt excel den dateinamen ein weil ich ihn als erstes selektiert habe um die word-datei zu öffnen
Member: hundertwasser
hundertwasser Jan 04, 2006 at 15:45:53 (UTC)
Goto Top
Da ich keine guten oder sagen wir mal für mich machbare lösungswege bekommen habe möchte ich hier eine anregung bekanntgeben.
Hallo leute für mich habe ich es gelöst.
hier mein vorgehen:
Ich Habe eine Tabelle mit vielen Dateinamen (word) in einem verzeichniss
Diese Dateien haben infos die ich haben möchte und diese in eine tabelle schreibe

Dim texte As String hier steht das aus word ausgelese textelement drinn

Public Function dok_teil_suchenundspeichern(ByVal Target As Excel.Range, Cancel As Boolean)
Dim zelle As String
Dim exceldoc As Object
Dim xlMappe As Object
Dim strText As String
Dim arrTmp() As String
Dim arrTmpa() As String
Dim arrTmpe() As String
Dim arrTmpen() As String
Dim inhalt_1 As String
Dim inhalt_2 As String
Dim inhalt_3 As String

Dim i As Long
Dim ak_zeile As Long
Dim MaxRows
Dim NextRows

Set xlMappe = ActiveWorkbook

MaxRows = xlMappe.Worksheets("extrablatt").Cells.SpecialCells(11).Row
NextRows = MaxRows + 1

If Target.Cells.Column = 1 And Target.Text Like "*.doc" Then
dateisuchen (Target.Text)
End If

If texte <> "" Then
Mein problem waren Tabulatoren Chr(9) und Umbrüche Chr(13)

strText = Replace(texte, Chr(9), "")
strText = Replace(strText, Chr(13), "")
xlMappe.Worksheets("extrablatt").Cells(NextRows, 2) =strText
...
...heir kommt noch was aber für dieses unrelewant
...
End If

xlMappe.Worksheets("extrablatt").Cells(NextRows, 1) = Target.Text

End Function

Sub dateisuchen(datei)
Dim i
With Application.FileSearch
.NewSearch
.LookIn = "D:\temp\" 'hier suche ich nach der datei
.SearchSubFolders = True
.Filename = datei
.MatchTextExactly = True
.FileType = msoFileTypeAllFiles
If .Execute() > 0 Then
For i = 1 To .FoundFiles.Count
WordDatei_öffnen (.FoundFiles(i))
Next i
Else
MsgBox "keine Datei gefunden"
End If
End With
End Sub

Function WordDatei_öffnen(worddatei As String)

' hier wird die Datei geöffnet
' Da ich nur einen teil der Worddatei brauche mache ich ein range mit
' anfang -> antwPTW_A
' ende -> antwPTW_E


Dim wordObj As Object
Dim startPos
Dim endPos

On Error Resume Next
Set wordObj = GetObject(, "Word.Application.9")
If Err.Number <> 0 Then
Err.Clear
Set wordObj = CreateObject("Word.Application.9")
Else
wordObj.Activate
End If

' das gewünschte Dokument öffnen
wordObj.Documents.Add worddatei
'Set akwordobj = objWW.ActiveDocument
ActiveDocument.Selection.HomeKey Unit:=wdStory
ActiveDocument.Range
With ActiveDocument.Range.Find
.Text = "antwPTW_A"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = True
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
ActiveDocument.Range.Find.Execute
startPos = ActiveDocument.Range.Start
ActiveDocument.Range.Find.ClearFormatting
With ActiveDocument.Range.Find
.Text = "antwPTW_E"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = True
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
ActiveDocument.Range.Find.Execute
endPos = ActiveDocument.Range.End

ActiveDocument.Range(startPos, endPos).Find.Execute Replace:=wdReplaceAll
texte = ActiveDocument.Range(startPos, endPos)
texte = Replace(texte, Chr(9), "") ' Tabulatoren raus
texte = Replace(texte, Chr(13), "") ' Umbruche raus
'..... texte = Replace(texte, Chr(xyz), "") ' usw... kann aber auch mit einer schleife realisiert werden
ActiveDocument.Close
End Function

Wenn jemand fragen dazu Hat kann sich melden
Member: Biber
Biber Jan 06, 2006 at 01:40:06 (UTC)
Goto Top
So, hundertwasser,

jetzt, wo ich Deine Lösung gelesen habe, verstehe ich auch endlich Deine Frage.. face-wink
Für die Lösung gebe ich Dir auch 5 Punkte (obwohl Du das TAB-und-CR-Ersetzen unnötigerweise doppelt machst, aber was solls bei den schnellen Prozessoren heutzutage *gg).

Ich hoffe aber, dass Du jetzt -mit dem nötigen Abstand und einer funktionierenden Lösung in der Tasche- zugeben musst, dass niemand ohne ausgeprägte mediale Fähigkeiten von der Frage oben auf einen Lösungsvorschlag wie unten hätte kommen können.

Finde es auf jedem Fall nett, nein, ausgesprochen nett, Deine Lösung zu veröffentlichen. Danke.
Biber

P.S. Ich verschiebe Deinen Beitrag mal in den Bereich Betriebssysteme > Windows > Office > Excel