[GastForen Programme Office Microsoft Office Makro auf alle Dokumente eines Ordners anwenden

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Office - Alles fürs Büro
Themen
Beiträge
Moderatoren
Letzter Beitrag

Makro auf alle Dokumente eines Ordners anwenden

moex
Beiträge gesamt: 61

19. Mär 2014, 14:41
Beitrag # 1 von 8
Bewertung:
(5689 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Forum!

Ich würde gerne ein Makro zum löschen einer gewissen Spalte automatisch auf alle Dokumente eines bestimmten Ordners anwenden.

Hat hierfür jemand eine Lösung bzw. Idee zur Umsetzung?

OSX 10.9.2 - Office 2011

Besten Dank im Voraus und viele Grüße
X

Makro auf alle Dokumente eines Ordners anwenden

MurphysLaw
Beiträge gesamt: 588

19. Mär 2014, 18:12
Beitrag # 2 von 8
Beitrag ID: #525134
Bewertung:
(5656 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Howdy!

Hier ist eine simple Lösung, die funzen sollte:
Code
Sub BatchDeleter() 

Dim fso, f, fil
Dim pfad As String
Dim wb As Workbook

Set fso = CreateObject("Scripting.FileSystemObject")
pfad = InputBox("Bitte Pfad zu den zu bearbeitenden Dateien angeben")
If fso.FolderExists(pfad) Then
Set f = fso.GetFolder(pfad)
For Each fil In f.Files
If InStr(1, fil.Name, ".xls") > 0 Then
Set wb = Workbooks.Open(pfad)

'Hier Spalte löschen, z.B. Spalte A, erstes Blatt:
wb.Sheets(1).Range("A1").EntireColumn.Delete
wb.Save
wb.Close
End If
Next fil
Else
MsgBox "Pfad nicht gefunden!"
End If

End Sub



als Antwort auf: [#525120]

Makro auf alle Dokumente eines Ordners anwenden

moex
Beiträge gesamt: 61

21. Mär 2014, 08:23
Beitrag # 3 von 8
Beitrag ID: #525171
Bewertung:
(5567 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo!

Erstmal vielen Dank für den Code. Wenn ich das Makro erstelle und ausführen möchte, kommt die Fehlermeldung: Laufzeitfehler "429" Objekterstellung durch ActiveX-Komponente nicht möglich.

Wenn ich danach auf DEBUGGEN gehe markiert er die Zeile

Set fso = CreateObject("Scripting.FileSystemObject")

Habe ich etwas falsch gemacht?

Liebe Grüße


als Antwort auf: [#525134]
(Dieser Beitrag wurde von moex am 21. Mär 2014, 08:25 geändert)

Makro auf alle Dokumente eines Ordners anwenden

MurphysLaw
Beiträge gesamt: 588

21. Mär 2014, 12:29
Beitrag # 4 von 8
Beitrag ID: #525190
Bewertung:
(5537 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Nee, leider nichts falsch gemacht.
Offenbar gibt es kein Scripting Objekt auf MAC, weil ActiveX und damit MS-proprietär. :-(

Habe mal ein bisschen rumgespielt und eine Variante gemacht, die auch auf MAC laufen sollte:
Code
Sub BatchDeleter() 

Dim allfils As Collection
Dim tmp As String
Dim pfad As String
Dim wb As Workbook
Dim i As Integer

pfad = InputBox("Bitte Pfad zu den zu bearbeitenden Dateien angeben")
If Right(pfad, 1) <> "\" Then pfad = pfad & "\"
tmp = Dir(pfad & "*.xls")
Set allfils = New Collection

Do While tmp <> ""
allfils.Add pfad & tmp
tmp = Dir()
Loop

For i = 1 To allfils.Count
Set wb = Workbooks.Open(allfils(i))
'Hier Spalte löschen, z.B. Spalte A, erstes Blatt:
wb.Sheets(1).Range("A1").EntireColumn.Delete
wb.Save
wb.Close
Next i

End Sub


Viel Glück!
:-)


als Antwort auf: [#525171]

Makro auf alle Dokumente eines Ordners anwenden

moex
Beiträge gesamt: 61

24. Mär 2014, 08:34
Beitrag # 5 von 8
Beitrag ID: #525295
Bewertung:
(5487 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Murphys Law!

Vielen Dank für deine Mühe. Nun komme ich ein wenig weiter, es öffnet sich das Fenster zum angeben des Pfades für die Dateien. Allerdings kommt dann immer die Fehlermeldung:

Laufzeitfehler "68"
Das Gerät ist nicht verfügbar.

Ich werde versuchen, vielleicht finde ich irgendeine Lösung.

Liebe Grüße


als Antwort auf: [#525190]

Makro auf alle Dokumente eines Ordners anwenden

MurphysLaw
Beiträge gesamt: 588

24. Mär 2014, 14:49
Beitrag # 6 von 8
Beitrag ID: #525320
Bewertung:
(5464 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ moex ] Laufzeitfehler "68"
Das Gerät ist nicht verfügbar.

:-?
=>Klingt nach nem falschen Pfad!
=>Oder nach einem Pfad (OSX-Syntax), der für VBA nicht verständlich ist. Da müsste mal ein MACler aushelfen, was es da für Fallstricke gibt.


als Antwort auf: [#525295]

Makro auf alle Dokumente eines Ordners anwenden

bröp
Beiträge gesamt: 160

7. Apr 2014, 16:52
Beitrag # 7 von 8
Beitrag ID: #525924
Bewertung:
(5377 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo

Mac hat bei den Pfaden doch keine Backslashes. Versuche mal die \ in / zu ändern.

Gruss
Bruno


als Antwort auf: [#525295]

Makro auf alle Dokumente eines Ordners anwenden

Hallenstein
Beiträge gesamt: 142

8. Apr 2014, 14:16
Beitrag # 8 von 8
Beitrag ID: #525945
Bewertung:
(5328 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Zusammen,

der MAC verwendet : bei den Pfaden. Also MacintoshHD:User:Excel:File.xlsx

Man kann die Umgebung per VBA abfragen und dann statt \ eben : verwenden.

SG,
Hallenstein.


als Antwort auf: [#525924]
X