Anzeige
Archiv - Navigation
1672to1676
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Text in .doc

Text in .doc
15.02.2019 15:10:01
David
Hallo.
ich möchte den Inhalt einer markieten Zelle über ein Makro in eine .doc Datei exportieren. Der Name der .doc Datei steht eine Zelle neben der selectierten Zelle.
Ich habe folgendes dazu gefunden:

Sub Markierter_Bereich_in_Textdatei()
On Error Resume Next
'Bildschirmaktualisierung ausschalten
Application.ScreenUpdating = False
'Ereignissanzeige ausschalten
Application.EnableEvents = False
'Markierten Bereich kopieren
Selection.Copy
'Neue Datei erstellen
Workbooks.Add
'Kopierte Spalte einfügen
Range("A1").PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
'In das Verzeichnis C:\ wechseln
ChDir "C:\"
'Die aktive Datei als Test.txt auf Platte C speichern
ActiveWorkbook.SaveAs Filename:="C:\Test.doc", _
FileFormat:=xlText, CreateBackup:=False
'Alternativ zu dem festen Speicherort, das Dialogfenster
'"Speichern unter..."  aufrufen,um Dateiname und -ort
'frei zu vergeben
'Application.Dialogs(xlDialogSaveAs).Show
'Die aktive Datei schließen.
ActiveWindow.Close False
'Ereignissanzeige wieder einschalten
Application.EnableEvents = True
End Sub
Dies funktioniert soweit, jedoch ohne Dateiname.
Vielen Dank für jede Hilfe.
David

20
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Text in .doc
15.02.2019 15:37:13
Nepumuk
Hallo David,
so ok?
Sub Markierter_Bereich_in_Textdatei()
    Dim strFileName As String
    Application.ScreenUpdating = False
    Application.EnableEvents = False
    strFileName = Selection.Offset(0, 1).Value
    Selection.Copy
    Workbooks.Add
    Range("A1").PasteSpecial Paste:=xlPasteAll
    ActiveWorkbook.SaveAs Filename:="C:\" & strFileName & ".doc", _
        FileFormat:=xlText, CreateBackup:=False
    ActiveWindow.Close False
    Application.EnableEvents = True
End Sub

Gruß
Nepumuk
Anzeige
AW: Text in .doc
15.02.2019 16:37:34
David
Hallo Nepumuk,
viele Dank, genau so funktioniert es.
Ich habe gemerkt, wenn die Zelle nur aus einem Zellbezug oder einer Verkettung besteht funktioniert es nicht mehr. Gibt es dafür eine Lösung?
Vielen Dank.
David
AW: Text in .doc
15.02.2019 16:58:40
Nepumuk
Hallo David,
was genau steht in der Zelle?
Gruß
Nepumuk
AW: Text in .doc
15.02.2019 17:07:02
David
Hi,
Einmal ist es eine simple Verkettung.
=WENN(I407="";"";VERKETTEN("X";I407;"/";I405))
Das Andere ist das Ergebniss eines SVerweises.
Vieleicht kann man es einfach lösen indem vor dem Ausführen des Exportes der Inhalt der einen
Quellzelle und der Inhalt der anderenQuellzelle vorher in die Selectierte Zelle kopiert wird?
LG
David
Anzeige
AW: Text in .doc
15.02.2019 17:09:06
Nepumuk
Hallo David,
ein / ist im Dateinamen nicht zulässig.
Gruß
Nepumuk
AW: Text in .doc
15.02.2019 17:24:44
David
Hey,
danke daran lag das eine Problem.
Allerdings steht wenn ich auf eine Verkettete Zelle Verweise in der .doc Datei als Inhalt :
#REF!
Woran könnte das liegen?
AW: Text in .doc
15.02.2019 17:33:24
Nepumuk
Hallo David,
das ist ein Bezugsfehler. Woher der kommt kann ich aber ohne die Mappe nicht sagen. Kannst du eine Mustermappe hochladen bei der dieser Fehler auftritt?
Gruß
Nepumuk
AW: Text in .doc
15.02.2019 17:53:33
David
Hi,
mit dem Standartverketten geht es nun.
Ich habe mehrere Zellen mit folgedem Code Verkettet.
Function Verketten2(ByRef bereich As Range, Trennzeichen As String) As String
Dim rng As Range
For Each rng In bereich
If rng  "" Then
Verketten2 = Verketten2 & rng & Trennzeichen
End If
Next
If Len(Verketten2) > 0 Then _
Verketten2 = Left(Verketten2, Len(Verketten2) - Len(Trennzeichen))
End Function
und dann in Zelle A1 mit:
=(Verketten2(P409:P415;", "))&"."
ausgewählt.
In A1 steht jetzt das verkettete Ergebniss das ich Exportieren möchte.
Ich hoffe es ist verständlich?
Gruß
David
Anzeige
AW: Text in .doc
15.02.2019 18:45:39
Nepumuk
Hallo David,
teste mal:
Range("A1").PasteSpecial Paste:=xlPasteValues
Gruß
Nepumuk
AW: Text in .doc
15.02.2019 19:02:23
David
Ja jetzt geht es vielen Dank.
Momentan läuft es in folgender richtung:
Selektierte Zelle= Dokument Inhalt
Zelle x stellen daneben = Dokument Bezeichnung
Würdest du mir noch verraten wie ich es umdrehen kann?
Also:
Selektierte Zelle= Dokument Bezeichnung
Zelle x stellen daneben = Dokument Inhalt
Sub Markierter_Bereich_in_Textdatei()
Dim strFileName As String
Application.ScreenUpdating = False
Application.EnableEvents = False
strFileName = Selection.Offset(0, 3).Value
Selection.Copy
Workbooks.Add
Range("A1").PasteSpecial Paste:=xlPasteValues
ActiveWorkbook.SaveAs Filename:="C:\Dropbox\Export\" & strFileName & ".doc", _
FileFormat:=xlUnicodeText, CreateBackup:=False
ActiveWindow.Close False
Application.EnableEvents = True
End Sub

Vielen Vielen Dank.
Jetzt komme ich entlich mit meiner Datei weiter :).
Ich wünsche Dir ein schönes Wochenende!!! :)
LG
David
Anzeige
AW: Text in .doc
15.02.2019 19:08:25
Nepumuk
Hallo David,
rechts oder links daneben? Schreib doch mal ein Beispiel. Z.B. Zelle C10 ist ausgewählt, das soll der Dateiname sein. Welche Zelle soll kopiert werden?
Gruß
Nepumuk
AW: Text in .doc
15.02.2019 19:18:42
David
Hi,
also als Beispiel:
A10 ist selektiert und soll der Datteiname sein.
A11 sthet der verkettet Inhalt und soll als Dikument Inhalt eingefügt werden.
Vielen Dank.
LG
David
AW: Text in .doc
15.02.2019 19:23:13
David
Sorry ich habe ienne Fehler gemacht.
Es sollte heisssen:
Also als Beispiel:
A10 ist selektiert und soll der Datteiname sein.
B10 steht der verkettet Inhalt und soll als Dokument Inhalt eingefügt werden.
Vielen Dank.
LG
David
Anzeige
AW: Text in .doc
15.02.2019 19:31:14
Nepumuk
Hallo David,
so ok?
Sub Markierter_Bereich_in_Textdatei()
    Dim strFileName As String
    Application.ScreenUpdating = False
    Application.EnableEvents = False
    strFileName = Selection.Value
    Selection.Offset(0, 1).Copy
    Workbooks.Add
    Range("A1").PasteSpecial Paste:=xlPasteValues
    ActiveWorkbook.SaveAs Filename:=Environ$("USERPROFILE") & "\Desktop\" & _
        strFileName & ".doc", FileFormat:=xlText, CreateBackup:=False
    ActiveWindow.Close False
    Application.EnableEvents = True
End Sub

Gruß
Nepumuk
Anzeige
AW: Text in .doc
16.02.2019 01:29:43
David
Hi Nepumuk,
das ist genau das was ich suche :) vielen Dank.
2 Kleinigkeiten sind mir noch aufgefallen.
Wenn Umlaute darin vorkommen fragt Word mich immer nach der Kodierung, welche ich dann manuell in "Westeuropäisch Windows" ändere. Ich habe versucht das "FileFormat:=" zu ändern, bringt aber leider nichts.
Das nächste ist, das der Exportierte Text immer in "ANFÜHRUNGZEICHEN" steht.
Gibt es da noch eine möglichkeit?
Vielen Dank.
LG David
AW: Text in .doc
16.02.2019 08:14:26
Nepumuk
Hallo David,
ja, die Daten in Word einfügen und nicht in ein Tabellenblatt welches du in ein doc reinwürgst.
Teste mal:
Sub Markierter_Bereich_in_Textdatei()
    Dim strFileName As String
    Dim objWord As Object, objDocument As Object
    Application.ScreenUpdating = False
    Application.EnableEvents = False
    Set objWord = CreateObject(Class:="Word.Application")
    Set objDocument = objWord.Documents.Add
    strFileName = Selection.Value
    Selection.Offset(0, 1).Copy
    objWord.Selection.Paste
    objDocument.SaveAs2 Environ$("USERPROFILE") & "\Desktop\" & _
        strFileName & ".doc", 0
    objWord.Quit
    Application.EnableEvents = True
End Sub

Gruß
Nepumuk
Anzeige
AW: Text in .doc
17.02.2019 23:04:50
David
HI Nepumuk,
viele viele Dank, so kann ich es nun verwenden.
Du verwendest:
    objDocument.SaveAs2 Environ$("USERPROFILE") & "\Desktop\" & _
strFileName & ".doc", 0

als speicherort.
Mein Speicherort ist C:\Dropbox\Export\. WÜrdest du mir noch sagen wie ich es hinbekomme.
Ich habe nun schon etliche varianten versucht, immer mit Fehlermeldung.
Vielen Dank. Ich wünsche einen schönen Abend und einen guten start in die Woche.
LG david
AW: Text in .doc
18.02.2019 08:11:27
Nepumuk
Hallo David,
welche Fehlermeldung bekommst du wenn du es so versuchst:
    objDocument.SaveAs2 "C:\Dropbox\Export\" & _
strFileName & ".doc", 0
Gruß
Nepumuk
Anzeige
AW: Text in .doc
15.02.2019 19:48:11
onur

Sub Markierter_Bereich_in_Textdatei()
Dim strFileName As String
Dim nam, path
path = "D:\"
Selection.Copy
strFileName = Selection.Offset(0, 1).Value
Workbooks.Add
Selection.PasteSpecial (xlPasteValues)
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:=path & strFileName & ".doc", _
FileFormat:=xlText, CreateBackup:=False
ActiveWorkbook.Close False
End Sub

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige