Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Word und Texteditoren
  Pfad in Makro angeben

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Pfad in Makro angeben (6619 mal gelesen)
röhmler
Mitglied
Sachbearbeiter techn. Dokumentation


Sehen Sie sich das Profil von röhmler an!   Senden Sie eine Private Message an röhmler  Schreiben Sie einen Gästebucheintrag für röhmler

Beiträge: 414
Registriert: 17.02.2004

AutoCAD Mechanical 2014

erstellt am: 06. Jun. 2013 11:18    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi, mein Kollege hat mit dem Makrorekorder ein Makro erstellt. Ich habe anfangs noch was reinkopiert, damit ein Fenster zur Dateiauswahl aufgeht.
MEINE FRAGE
kann man noch im Makro den Pfad definieren (wo die zu bearbeitenden dateien liegen) und wenn ja wie sieht der String aus?

Hier das Makro


Sub txt_doc()
'
' txt_doc Makro
' Makro aufgezeichnet am 06.06.2013 von kob.neumar
'
    Selection.WholeStory
    With ActiveDocument.Styles(wdStyleNormal).Font
        If .NameFarEast = .NameAscii Then
            .NameAscii = ""
        End If
        .NameFarEast = ""
    End With
    With ActiveDocument.PageSetup
        .LineNumbering.Active = False
        .Orientation = wdOrientLandscape
        .TopMargin = CentimetersToPoints(1.2)
        .BottomMargin = CentimetersToPoints(1.2)
        .LeftMargin = CentimetersToPoints(3)
        .RightMargin = CentimetersToPoints(2)
        .Gutter = CentimetersToPoints(0)
        .HeaderDistance = CentimetersToPoints(1.25)
        .FooterDistance = CentimetersToPoints(1.25)
        .PageWidth = CentimetersToPoints(29.7)
        .PageHeight = CentimetersToPoints(21)
        .FirstPageTray = wdPrinterDefaultBin
        .OtherPagesTray = wdPrinterDefaultBin
        .SectionStart = wdSectionNewPage
        .OddAndEvenPagesHeaderFooter = False
        .DifferentFirstPageHeaderFooter = False
        .VerticalAlignment = wdAlignVerticalTop
        .SuppressEndnotes = False
        .MirrorMargins = False
        .TwoPagesOnOne = False
        .BookFoldPrinting = False
        .BookFoldRevPrinting = False
        .BookFoldPrintingSheets = 1
        .GutterPos = wdGutterPosLeft
    End With
    With Selection.ParagraphFormat
        .SpaceBefore = 0
        .SpaceBeforeAuto = False
        .SpaceAfter = 0
        .SpaceAfterAuto = False
        .LineSpacingRule = wdLineSpaceExactly
        .LineSpacing = 9
        .LineUnitBefore = 0
        .LineUnitAfter = 0
    End With
    Selection.Font.Name = "Lucida Console"
    Selection.Font.Size = 9
    ActiveDocument.SaveAs FileName:="1233321.doc", FileFormat:= _
        wdFormatDocument, LockComments:=False, Password:="", AddToRecentFiles:= _
        True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:= _
        False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
        SaveAsAOCELetter:=False
End Sub


VIELEN DANK

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

StefanBerlitz
Ehrenmitglied V.I.P. h.c.
IT Admin (CAx)



Sehen Sie sich das Profil von StefanBerlitz an!   Senden Sie eine Private Message an StefanBerlitz  Schreiben Sie einen Gästebucheintrag für StefanBerlitz

Beiträge: 8756
Registriert: 02.03.2000

erstellt am: 07. Jun. 2013 07:44    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für röhmler 10 Unities + Antwort hilfreich

Hallol röhmler,

Zitat:
Original erstellt von röhmler:
kann man noch im Makro den Pfad definieren (wo die zu bearbeitenden dateien liegen) und wenn ja wie sieht der String aus?
[...]
Sub txt_doc()
  [...]
    ActiveDocument.SaveAs FileName:="1233321.doc", [...]
End Sub


Ich bin mir nicht sicher, ob es das ist, was du suchst, aber dies ist die einzige STelle in deinem Makro, die in meinen Augen sinnvoll was mit Pfaden zu tun haben könnte.

Im Parameter Filename:= kannst du den komplette Pfad angeben, unter dem die aktive Datei abgespeichert wird. Das kannst du einfach als Pfad eingeben:

    ActiveDocument.SaveAs FileName:="c:\temp\1233321.doc", [...]

Wenn du eine (sehr einfache) Abfrage für den Pfad mit einbauen willst kannst du das über die Funktion Inputbox machen, z.B. so

Code:

  Dim myPfad as string
  myPfad = Inputbox("Bitte Speicherpfad und Name angeben","c:\temp\123321.doc")
  ActiveDocument.SaveAs FileName:=myPfad, [...]


Das ist natürlich nicht fertig, da sollten in ein paar Sicherheitschecks der Anwendereingaben mit rein, ob überhaupt was angegeben wurde, ob nur erlaubte Zeichen drin sind, ob Abbrechen geklickt wurde etc.

Ciao,
Stefan

------------------
Inoffizielle deutsche SolidWorks Hilfeseite    http://solidworks.cad.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

röhmler
Mitglied
Sachbearbeiter techn. Dokumentation


Sehen Sie sich das Profil von röhmler an!   Senden Sie eine Private Message an röhmler  Schreiben Sie einen Gästebucheintrag für röhmler

Beiträge: 414
Registriert: 17.02.2004

AutoCAD Mechanical 2014

erstellt am: 07. Jun. 2013 08:47    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi Stefan, guten Morgen. Erst mal danke für Deine Antwort. Leider verstehe ich gar nichts von Makros - alles aufgezeichnet und die ersten Zeilen hat ein Bekannter gemacht.
Mir geht`s darum, dass das Fenster "ÖFFNEN" immer den gleichen Ordner (halbfertig) anzeigt, die Dateien in dem Ordner ändern sich ständig, also Namen (****.doc) muß nicht angegeben werden, nur der Pfad bis zu dem bestimmten Ordner.
Der Pfad:
C:/clientdaten/kob/kob.niewrzella/geschäftlich/deutsch/halbfertig

VIELEN DANK mal

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

StefanBerlitz
Ehrenmitglied V.I.P. h.c.
IT Admin (CAx)



Sehen Sie sich das Profil von StefanBerlitz an!   Senden Sie eine Private Message an StefanBerlitz  Schreiben Sie einen Gästebucheintrag für StefanBerlitz

Beiträge: 8756
Registriert: 02.03.2000

erstellt am: 07. Jun. 2013 11:29    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für röhmler 10 Unities + Antwort hilfreich

Hallo röhmler,

ich glaub ich steh auf dem Schlauch, wieso und was denn für ein ÖFFNEN Fenster? In deinem Code ist nichts von Datei öffnen zu sehen, da wird das aktuelle Dokument umformatiert und unter dem Namen 1233321.doc im aktuellen Arbeitsverzeichnis gespeichert.

Vielleicht versuchst du noch mal zu erklären, wie deine aktuelle Arbeitssituation ist, was dein Ziel ist, was du schon hast und wie du versuchst das einzusetzen. Eben eine Beschreibung wie in  Richtig Hilfe anfordern gezeigt wurde - Teil 1, Teil 2 und Teil 3.

Zitat:
Original erstellt von röhmler:
Leider verstehe ich gar nichts von Makros - alles aufgezeichnet und die ersten Zeilen hat ein Bekannter gemacht.

Unabhängig vom oben geschriebenen: wenn du von Makros keine Ahnung hast, wieso willst du dann etwas mit Makros lösen? Klar ist es nett Dinge automatisieren zu können, da bin ich als Hobbyprogrammierer mit dir auf derselben Wellenlänge, aber um Makros zu erstellen oder zu evrstehen muss man sich schon ein wenig damit auseinander setzen - und das fängt schon bei einer eindeutigen Aufgabenstellung an. Welche anderen Programmiersprachen kennst du denn, fehlen dir die speziellen Word-Automationsmöglichkeiten, ist dir nur Syntax und Grammatik von VBA nicht geläufig oder hast du gar keine praktischen Erfahrungen mit Programmierung?

Im letzten Fall mach eine genaue Beschreibung (siehe oben) und lass es dir von jemandem machen - aber gib demjenigen (z.B. einem Kollegen) auch einen Anreiz dafür, das zu tun. Aus reiner Herzensgüte oder Langeweile wird dir wohl niemand was spezielles für dich zaubern (lies dazu auch mal meine "Ausführungen" in diesem Beitrag, da sind ein paar Gedanken dazu zusammengefasst).

Ciao,
Stefan


------------------
Inoffizielle deutsche SolidWorks Hilfeseite    http://solidworks.cad.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

röhmler
Mitglied
Sachbearbeiter techn. Dokumentation


Sehen Sie sich das Profil von röhmler an!   Senden Sie eine Private Message an röhmler  Schreiben Sie einen Gästebucheintrag für röhmler

Beiträge: 414
Registriert: 17.02.2004

AutoCAD Mechanical 2014

erstellt am: 07. Jun. 2013 11:53    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Ah ok, habs eben gesehn. Also, ich versuche es (Gedanken zu papier bringen ist oft schwierig)

Mein Kollege erstellt aus dem SAP Stücklisten im Format .txt  Diese legt er im Ordner (wie oben beschrieben) "halbfertig" (Ordner heisst so) ab. Dann Öffnet er diese Textdateien mit Word, Formatiert diese Dateien und speichert sie unter dem gleichen Namen im Wordformat (doc) ab!
Diesen Vorgang hat er mit dem makrorekorder aufgezeichnet. Jetzt, wenn das Makro so nimmst öffnet es ja nur die Textdatei mit dem namen der aufgezeichnet wurde (jetzt gehts scho los mit Gedanken zu papier bringen  grins) Da es mehrere txt Dateien mit unterschiedlichen Namen sind möchte er, das nach dem Makro Start das Fenster (Öffnen) aufgeht, wo man den Pfad und die Datei auswählen kann. Und hier sollte dann gleich der Ordner "halbfertig" erscheinen - er möchte sich halt nicht durch alle Ordner klicken - wenn 20 Txt-Files hast wirds viel. Hoffe ich konnte es verständlich rüber bringen.

DANKE

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

röhmler
Mitglied
Sachbearbeiter techn. Dokumentation


Sehen Sie sich das Profil von röhmler an!   Senden Sie eine Private Message an röhmler  Schreiben Sie einen Gästebucheintrag für röhmler

Beiträge: 414
Registriert: 17.02.2004

erstellt am: 07. Jun. 2013 11:57    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Oh Mann, SOORRYYYYYYYYYYYYYYYYYYYYYYYYYYYY

klar, da ist der beginn falsch. So sieht das makro Anfangs aus

    Dim oFileDialog As FileDialog
Dim strPath As String
Set oFileDialog = Application.FileDialog(msoFileDialogOpen)
With oFileDialog
    .Title = "Bitte wählen Sie eine Datei aus"
    .InitialFileName = strStartPath & "\*.txt"
    .AllowMultiSelect = False
    If .Show = True Then
        Path = oFileDialog.SelectedItems(1)
    End If
End With

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

StefanBerlitz
Ehrenmitglied V.I.P. h.c.
IT Admin (CAx)



Sehen Sie sich das Profil von StefanBerlitz an!   Senden Sie eine Private Message an StefanBerlitz  Schreiben Sie einen Gästebucheintrag für StefanBerlitz

Beiträge: 8756
Registriert: 02.03.2000

SunZu sagt:
Analysiere die Vorteile, die
du aus meinem Ratschlag ziehst.
Dann gliedere deine Kräfte
entsprechend und mache dir
außergewöhnliche Taktiken zunutze.

erstellt am: 07. Jun. 2013 12:10    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für röhmler 10 Unities + Antwort hilfreich

Na, das ist einfach, da wärst du auch selbst drauf gekommen 

Zitat:
Original erstellt von röhmler:
Dim oFileDialog As FileDialog
Dim strPath As String
Set oFileDialog = Application.FileDialog(msoFileDialogOpen)
With oFileDialog
    .Title = "Bitte wählen Sie eine Datei aus"
    .InitialFileName = strStartPath & "\*.txt"
    .AllowMultiSelect = False
    If .Show = True Then
        Path = oFileDialog.SelectedItems(1)
    End If
End With

Entweder du belegst dir vorher eine entsprechende Variable oder schreibst dein Startverzeichnis da hart rein:
Code:

    .InitialFileName = "C:\clientdaten\kob\kob.niewrzella\geschäftlich\deutsch/halbfertig\*.txt"


HTH,
Stefan

------------------
Inoffizielle deutsche SolidWorks Hilfeseite    http://solidworks.cad.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

röhmler
Mitglied
Sachbearbeiter techn. Dokumentation


Sehen Sie sich das Profil von röhmler an!   Senden Sie eine Private Message an röhmler  Schreiben Sie einen Gästebucheintrag für röhmler

Beiträge: 414
Registriert: 17.02.2004

erstellt am: 07. Jun. 2013 12:14    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Supi, vielen Dank. Eins noch - wie sieht das ende aus, denn das ist ja auch falsch. Das Makro soll das aktive Dokument nun als .doc abspeichern. in dem Makro steht ja immer der gleiche Name drinnen.

ActiveDocument.SaveAs FileName:="1233321.doc", FileFormat:= _
        wdFormatDocument, LockComments:=False, Password:="", AddToRecentFiles:= _
        True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:= _
        False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
        SaveAsAOCELetter:=False
End Sub


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

StefanBerlitz
Ehrenmitglied V.I.P. h.c.
IT Admin (CAx)



Sehen Sie sich das Profil von StefanBerlitz an!   Senden Sie eine Private Message an StefanBerlitz  Schreiben Sie einen Gästebucheintrag für StefanBerlitz

Beiträge: 8756
Registriert: 02.03.2000

SunZu sagt:
Analysiere die Vorteile, die
du aus meinem Ratschlag ziehst.
Dann gliedere deine Kräfte
entsprechend und mache dir
außergewöhnliche Taktiken zunutze.

erstellt am: 07. Jun. 2013 12:33    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für röhmler 10 Unities + Antwort hilfreich

Siehe oben meine erste Antwort 

------------------
Inoffizielle deutsche SolidWorks Hilfeseite    http://solidworks.cad.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

röhmler
Mitglied
Sachbearbeiter techn. Dokumentation


Sehen Sie sich das Profil von röhmler an!   Senden Sie eine Private Message an röhmler  Schreiben Sie einen Gästebucheintrag für röhmler

Beiträge: 414
Registriert: 17.02.2004

erstellt am: 10. Jun. 2013 07:43    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi, schönen guten Morgen. So kann ich den String doch nicht übernehmen oder? Sollte was in die Klammer die Du oben immer wieder stehen hast??  [...]
Dann, was trage ich anstatt dem Dokumentennamen ein wenn der sich immer wieder ändert?

VIELEN DANK

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

StefanBerlitz
Ehrenmitglied V.I.P. h.c.
IT Admin (CAx)



Sehen Sie sich das Profil von StefanBerlitz an!   Senden Sie eine Private Message an StefanBerlitz  Schreiben Sie einen Gästebucheintrag für StefanBerlitz

Beiträge: 8756
Registriert: 02.03.2000

SunZu sagt:
Analysiere die Vorteile, die
du aus meinem Ratschlag ziehst.
Dann gliedere deine Kräfte
entsprechend und mache dir
außergewöhnliche Taktiken zunutze.

erstellt am: 10. Jun. 2013 08:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für röhmler 10 Unities + Antwort hilfreich

Hallo röhmler,

nein, natürlich kannst du den String nicht so übernehmen, ich will und werde dir ja kein fertiges Makro machen, dafür gibst du mir zu wenig Anreize. Hast du dir meine Antwort und den Link mal durchgelesen?

Also: das [...] ist ein gängiges Zeichen für hier wurden Teile des Zitats ausgelassen, die nicht zum Verständnis nötig waren, damit der Blick beim Leser gleich auf die relevanten Stellen fällt. Ich hab dir im Beitrag oben gezeigt, wo die Stelle ist, an der die Datei gespeichert wird und wo du den Namen eintragen kannst. Da der variable ist habe ich dir darunter eine einfache, flexible Möglichkeit mit der Funktion Inputbox gezeigt, mit der du einen Namen samt Pfad vom Benutzer abfragen kannst.

Du musst es nur noch verstehen und einsetzen. Das einsetzen könnte ich dir abnehmen, siehe Links, dazu braucht es einen Anreiz. Das Verstehen kann ich dir nicht abnehmen, nur erleichtern, indem ich es mehrfach auf unterschiedliche Art erkläre. Allerdings habe ich den Eindruck, dass du entweder gar nicht am Verständnis sondern nur an einer fertigen Lösung interssiert bist, oder im Moment selbst diese Programmierungsversuch noch zu komplex sind.

Ich habe verstanden, dass du dich mit Makros und deren Programmierung nicht auskennst, allerdings bin ich davon ausgegangen, dass du es lernen und verstehen willst. Wenn dem so ist wäre es besser, du fängst mal mit den einfachen Grundlagen an, wie z.B. einem VBA Onlinekurs.

Ciao,
Stefan

------------------
Inoffizielle deutsche SolidWorks Hilfeseite    http://solidworks.cad.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

röhmler
Mitglied
Sachbearbeiter techn. Dokumentation


Sehen Sie sich das Profil von röhmler an!   Senden Sie eine Private Message an röhmler  Schreiben Sie einen Gästebucheintrag für röhmler

Beiträge: 414
Registriert: 17.02.2004

erstellt am: 10. Jun. 2013 08:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Vielen Dank, ich möchte es gerne, leider mangelt es an Zeit hier. Wir sollen nur liefern, liefern, liefern, aber zeit um etwas zu maximieren bekommen wir nicht.

DANKE nochmals

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz