Thema Datum  Von Nutzer Rating
Antwort
Rot Kombinieren von zwei Makros
13.08.2020 09:29:41 Basti
NotSolved
13.08.2020 10:34:51 Gast83002
NotSolved
13.08.2020 10:48:40 Basti
NotSolved
13.08.2020 10:50:41 jofed
NotSolved

Ansicht des Beitrags:
Von:
Basti
Datum:
13.08.2020 09:29:41
Views:
823
Rating: Antwort:
  Ja
Thema:
Kombinieren von zwei Makros
Guten Morgen liebe Leute, 
ich habe hier zwei für sich alleinstehende und gut funktionierende Makros gefunden und wollte fragen ob einer von euch vielleicht ne Idee hat wie man die beiden kombinieren kann. Über Hilfe würde ich mich sehr freuen da es mir die Arbeit sehr erleichtern würde.
 
Das erste Makro konvertiert alle im per Dialog ausgewählten Ordner befindlichen .doc Dateien in das .docx und das funktioniert sehr schön.
 
Sub ConvertDocToDocx()
'Updated by ExtendOffice 20181128
    Dim xDlg As FileDialog
    Dim xFolder As Variant
    Dim xFileName As String
    Application.ScreenUpdating = False
    Set xDlg = Application.FileDialog(msoFileDialogFolderPicker)
    If xDlg.Show <> -1 Then Exit Sub
    xFolder = xDlg.SelectedItems(1) + "\"
    xFileName = Dir(xFolder & "*.doc", vbNormal)
    While xFileName <> ""
        Documents.Open FileName:=xFolder & xFileName, _
            ConfirmConversions:=False, ReadOnly:=False, AddToRecentFiles:=False, _
            PasswordDocument:="", PasswordTemplate:="", Revert:=False, _
            WritePasswordDocument:="", WritePasswordTemplate:="", Format:= _
            wdOpenFormatAuto, XMLTransform:=""
        ActiveDocument.SaveAs xFolder & Replace(xFileName, "doc", "docx"), wdFormatDocumentDefault
        ActiveDocument.Close
        xFileName = Dir()
    Wend
    Application.ScreenUpdating = True
End Sub
 
 
jetzt kommt Makro nummer zwei das zum suchen und ersetzen von Text gedacht ist und auch super funktioniert jedoch in jeder Datei einzeln aufgerufen werden muss.
 
Public Sub Alle_Dateien1()
 
'//deklarationen
Dim strFileName As String
Dim objDocument As Document
 
'//Errorhandler initialisieren
On Error GoTo err_exit
 
'//erste Excelmappe suchen - Ordner anpassen !!!
strFileName = Dir$("C:\Users\marin\Downloads\Basti\Datenblätter fertig\Lichtschranken\Deutsch\*.doc", vbNormal)
 
'//wenn eine Excelmappe gefunden wurde
If strFileName <> "" Then
 
'//Schleife starten
Do
 
'//Excelmappe öffnen
Set objDocument = Documents.Open(FileName:=strFileName)
 
 
 
    Dim oStory As Range
    For Each oStory In objDocument.StoryRanges
        oStory.Find.ClearFormatting
        oStory.Find.Replacement.ClearFormatting
        With oStory.Find
            .Text = "Suchtext Hauptbereich"
            .Replacement.Text = "Ersatztext Hauptbereich"
            .Forward = True
            .Wrap = wdFindContinue
            .Format = False
            .MatchCase = True
            .MatchWholeWord = True
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
        End With
        oStory.Find.Execute Replace:=wdReplaceAll
        'Jetzt haben wir den Hauptbereich abgearbeitet - nun noch der Rest
        While Not (oStory.NextStoryRange Is Nothing)
            Set oStory = oStory.NextStoryRange
            oStory.Find.ClearFormatting
            oStory.Find.Replacement.ClearFormatting
            With oStory.Find
                .Text = "Suchtext Kopf- und Fußzeile"
                .Replacement.Text = "Ersatztext Kopf- und Fußzeile"
                .Forward = True
                .Wrap = wdFindContinue
                .Format = False
                .MatchCase = True
                .MatchWholeWord = True
                .MatchWildcards = False
                .MatchSoundsLike = False
                .MatchAllWordForms = False
            End With
            oStory.Find.Execute Replace:=wdReplaceAll
        Wend
    Next
    
 
'//Excelmappe schließen - ohne zu speichern = False / mit speichern = True
objDocument.Close SaveChanges:=True
 
'//nächste Excelmappe suchen
strFileName = Dir$
 
'//wird keine Mappe mehr gefunde Schleife verlassen
Loop Until strFileName = ""
 
End If
 
Exit Sub
 
err_exit:
MsgBox "Fehler " & CStr(Err.Number) & vbLf & vbLf & _
Err.Description, vbCritical, "Fehlermeldung"
 
 
 
End Sub
 
stört euch bitte nicht daran das die kommentare für excel angelegt sind es sind wie gesagt online gefundene Makros und ich würde Sie nun gerne kombinieren oder vielleicht sagt ihr ja auch das es viel einfacher geht. Ich möchte ungern jede Datei einzeln anfassen müssen.
 
Ich bin schonmal froh über jede Antwort die mir in dem Bereich vielleicht weiterhelfen kann.
 
Liebe Grüße Basti
 

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Kombinieren von zwei Makros
13.08.2020 09:29:41 Basti
NotSolved
13.08.2020 10:34:51 Gast83002
NotSolved
13.08.2020 10:48:40 Basti
NotSolved
13.08.2020 10:50:41 jofed
NotSolved