Dateinamen aus Text im Doku über Makro

  • #1
D

Dirk Michael

Guest
Hallo Leute,

weiß jemand Rat?

Wie kann mann über eine Macro den Dateinamen zum Speichern aus bestimmten Passagen des Textes im Dokument generieren?

Danke!
 
  • #2
Public Sub Main()
Dim Name_$
Dim A$
Dim B$
If WordBasic.[Left$](WordBasic.[FileName$](), 8) = Dokument Or Len(WordBasic.[FileName$]()) = 0 Then
WordBasic.MsgBox Ungültiger Dateiname -> Erst speichern., So nicht!
GoTo byebye
End If
WordBasic.EndOfDocument
WordBasic.InsertPara
Name_$ = (Ho)
WordBasic.FileSummaryInfo Update:=1
Dim dlg As Object: Set dlg = WordBasic.DialogRecord.FileSummaryInfo(False)
WordBasic.CurValues.FileSummaryInfo dlg
A$ = dlg.Directory
B$ = dlg.FileName
WordBasic.WW2_Insert Name_$ + A$ + \ + B$
WordBasic.ExtendSelection
WordBasic.StartOfLine
WordBasic.FontSize 6
WordBasic.InsertFrame
WordBasic.FormatFrame Wrap:=1, WidthRule:=0, FixedWidth:=, HeightRule:=0, FixedHeight:=, PositionHorz:=Rechts, PositionHorzRel:=0, DistFromText:=0,25 cm, PositionVert:=28,2 cm, PositionVertRel:=1, DistVertFromText:=0 cm, MoveWithText:=0, LockAnchor:=0
WordBasic.FormatBordersAndShading ApplyTo:=0, Shadow:=0, TopBorder:=0, LeftBorder:=0, BottomBorder:=0, RightBorder:=0, HorizBorder:=0, VertBorder:=0, TopColor:=0, LeftColor:=0, BottomColor:=0, RightColor:=0, HorizColor:=0, VertColor:=0, FromText:=1 pt, Shading:=0, Foreground:=0, Background:=0, Tab:=0, FineShading:=-1
WordBasic.VLine 1
WordBasic.PageUp 3
byebye:
End Sub


Grüße
Andreas
 
  • #3
Hut ab ! Herr Laie :)

Vielen Dank. Spart doch die Anschaffung von Doku- Management.

Danke.

Dirk
 

Anhänge

  • Desktop.jpg
    Desktop.jpg
    107,4 KB · Aufrufe: 69
  • #4
Ola,

nur als Anmerkung: muss nicht in allen Versionen funktionieren ....
 
  • #5
Das Leben ist kurz, leider.
Also ärgere ich mich nicht.
 
  • #6
Ola,

das Problem ist die Verwendung des Objekts wordbasic, das in den neuesten Versionen nicht mehr unterstützt wird.

Versteht ich es richtig, dass Du erst eine Markierung im Dokument machen willst und dann die Markierung als Namen beim Speichern automatisch übernehmen willst??
 
  • #7
Sorry, wenn ich die Fragestellung nicht richtig inhaliert habe, so wie PCDjoe sie formuliert hat.
Mein Makro setzt einen (vorher händisch vergebenen) Dateinamen auf das letzte Blatt des Dokuments. Funktioniert jedenfalls bis WINWORD 2000 und unter ME.
Generierung aus einer Textpassage über Makro geht wohl eher nicht, weil die Textpassagen variabel sind, die Speicherorte ebenfalls. Aber wer weiß, vielleicht finden die wahren Cracks (zu denen ich nicht gehöre) ja eine Lösung.
Andreas
 
  • #8
Ola,

ich wollte nicht kritteln, die Lösung ist ja in Ordnung ... Ich hab auch noch mal nachgelesen: es gibt die wordbasic-transformation auch noch in Word 2002 ... Es gibt also sicher keine Probleme damit.
 
  • #9
Also, es ist so:

Eigene DOT als Briefvorlage - mit Datum z.B. 030131, Aktenzeichen z.B. 46800FRA, Betreff z.B. Übersendung Unterlagen Bauantrag, Versandart z.B. M für Mail, Kürzel Empfänger z.B. SWH für Stadtwerke Halle. Alle in Tabellenfeldern.

Wenn die Leutchen jetzt auf speichern unter klicken, soll im Dateinamensfeld auftauchen:
030131-SWH-M-Übersendung Unterlagen Bauantrag

Na ja, ich bastele schon ne' Weile daran rum, s' ist halt für uns selber.

Dirk
 
  • #10
Noch was -
habe auch schon das folgende probiert.

Setze über Makro den Dateinamen im Dokument an eine deffinierte Sprungstelle, kopiere den in die Zwischenablage, lösche den Text und dann speichern unter - aber mir fehlt der Makro- Befehl zum Einfügen aus der Zwischenablage.

Dirk
 
  • #11
Zitat:
aber mir fehlt der Makro- Befehl zum Einfügen aus der Zwischenablage. (Zitat Ende)

Der ist so simpel, dass ich erneut befürchte, das Problem nicht richtig erfasst zu haben, nämlich:

Sub Einfügen_aus_Zwischenablage()
'
' Einfügen_aus_Zwischenablage Makro
' Makro aufgezeichnet am 01.02.2003 von Andreas
'
Selection.Paste
End Sub


Also den letzten Befehl an das bisherige Bastelteil dranhängen.

Gruß Andreas
 
  • #12
Das eigene Tun ist wirklich entlarvend :).

ActiveDocument.SaveAs FileName:=2003-02-01-46800FRA- Testvermerk.doc, _

Wie bekomme ich hier Selection.Paste eingebaut?

Ja ja, ich hab wenig Ahnung von Basic. Aber ich muss auch nur damit arbeiten.

Dirk
 
  • #13
Ola,

Musst Du gar nicht:

Sub Mit_Namen_Speichern()
Bastelname = Selection.Text
With Dialogs(wdDialogFileSaveAs)
.Name = Bastelname
.Display
End With
End Sub
 
  • #14
Ahaaahhhhh !

Und ewig wird mein Dank Dich beschleichen.

Danke.

Dirk
 
  • #15
So sieht es aus (für Andere die Interesse haben).

Vorher wird über Makro der Dateiname im Dokument temporär zusammengabaut und markiert.

Danke an alle Laien und solche (wie ich) die es noch werden wollen :).

Selection.Copy
Bastelname = Selection.Text
With Dialogs(wdDialogFileSaveAs)
.Name = Bastelname
.Display
End With
ActiveDocument.SaveAs FileName:=Bastelname, FileFormat:= _
wdFormatDocument, LockComments:=False, Password:=, AddToRecentFiles:= _
True, WritePassword:=, ReadOnlyRecommended:=False, EmbedTrueTypeFonts:= _
False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
SaveAsAOCELetter:=False
Selection.TypeBackspace
Selection.MoveDown Unit:=wdScreen, Count:=1
 
  • #16
Guten Tag.

Ich habe folgendes Problem und hoffe ihr könnt mir helfen.

Ich habe ein Spiel namens "Lineage 2" installiert. Immer wenn ich auf die .exe dieses Spiels klicke kommt ein Fenster das mir sagt:

The Application has failed to start because its side by side configuration is incorrect.


Es gibt von diesem Spiel mehrere Teile. Alle Teile funktionieren nur dieser eine Teil bringt mich zum Wahnsinn.

Ich hoffe ihr könnt mir helfen =(
 
  • #17
Hallo.
Mach mal ein Rechtsklick auf die .exe und gehe dann auf "Als Administrator ausführen".
Wenn das nicht funktioniert ein Rechtsklick auf die .exe (im Installationsverzeichnis) dann auf Eigenschaften, dann auf Kompalibität und dann ein Häkchen bei "Programm im Kompatibilitätsmodus für Windows XP SP3 ausführen"
MrYannis
 
  • #18
das wird wohl nichts bringen bei solch einem visual c++ problem.

habs gelöst:

wenn jeamnd solch ein problem haben sollte:

start -> control panel -> administrativ tools -> event viewer und sich den log anzeigen lassen. danach einfach nach diesem log googlen und siehe da: das programm/spiel/etc ist in x86 geschrieben und es setzt dadurch visual c++ x86 (auch unter 64x betriebssystem) vorraus. also einfach visual c++ 86x aufspielen (google benutzen - installieren auch wenn vc++ 64x schon installiert ist). siehe da... es funktioniert.

gelöst.
 
  • #19
Danke für die Rückmeldung..Ich setz das hier auch mal auf gelöst.
MrYannis
 
Thema:

Dateinamen aus Text im Doku über Makro

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.838
Beiträge
707.961
Mitglieder
51.491
Neuestes Mitglied
haraldmuc
Oben