Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1580to1584
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

Objekt erforderlich

Objekt erforderlich
29.09.2017 10:48:30
Lukas
Hallo zusammen,
bin neu hier, aber da ich immer häufiger mich an VBA Programmierung versuche, fühle ich mich hier sehr gut aufgehoben :-)
Ich komme auch sofort auf mein erstes Problem. Ich habe ein Makro geschrieben, mit dem ich eine Daten Verbindung mit einer *.csv aktualisiere, im Anschluss die alte csv lösche und eine vorhandene leer Datei in den Ordner kopiere, wo sich die verbundene csv befand.
Hier der Code:


Sub Refresh()
Pfad$ = ThisWorkbook.Path
Ablage$ = Pfad$ + "\_"
ActiveWorkbook.Connections("Ablage").Refresh
Call Aktuell
Kill Pfad$ + "\_\Ablage.csv"
alt_datei$ = Pfad$ + "\___Vorlagen\Ablage.csv"
Set datei_objekt = fs.GetFile(alt_datei$)
datei_objekt.Copy Ablage$, True
Call Filter_setzen
Call Filter_setzen
End Sub

Ich bekomme als Fehlermeldung "Objekt erforderlich" an dieser Stelle:
Set datei_objekt = fs.GetFile(alt_datei$)
Alles ist richtig geschrieben, die Vorlage-Datei ist vorhanden.
Ich weiß echt nicht weiter. Wahrscheinlich irgendetwas einfaches, das mich im Nachheinein erröten lässt.....
Gruß
Lukas

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Ist "fs" deklariert und zugewiesen?
29.09.2017 10:52:02
Michael
Hallo Lukas!
Fs ist ziemlich sicher ein Dateisystem-Objekt (Filesystemobject); aber wurde das ordentlich deklariert und zugewiesen? Sonst kann natürlich auf dessen Methoden nicht zugegriffen werden...
LG
Michael
AW: Ist "fs" deklariert und zugewiesen?
29.09.2017 11:00:35
Lukas
Ahhh God Damn.....
So ist es wenn man sich mit copy/paste an vorhandenen Makros bedient! :-P
Danke!
Kommt vor ;-), lg und owT
29.09.2017 11:02:30
Michael
AW: Kommt vor ;-), lg und owT
29.09.2017 11:08:03
Lukas
Ok Nächste Zeile. Mühsam ernährt sich das Eichhörnchen...
Folgende Fehlermeldung: Zugriff verweigert.
bei:
datei_objekt.Copy Ablage$, True
Ich muss dazu sagen, ich bin mit meinem Arbeitsrechner administrativ relativ stark eingeschränkt. Aber diese Funktion funktioniert in einem anderen Makro das auf die selbe Ordner Struktur zugreift.
Any Ideas?
Vielen Dank im Vorraus!
Anzeige
Das macht so keinen Sinn
29.09.2017 11:15:42
Michael
Lukas,
...wenn Du nur Codefetzen hier hinrotzt. Zeige Deinen kompletten Code und gib dann dazu an wo (Zeile) welcher Fehler auftritt.
Fraglich ist hier Einiges: Du willst eine Datei kopieren? Die Methode dazu ist meines Wissens CopyFile, nicht nur Copy, und die verlangt eine Quell- UND Zieladresse, neben der Info ob Überschrieben werden soll oder nicht.
Wenn Du fremden Code einsetzt solltest Du dennoch wissen, was der tut (tun soll) ;-).
LG
Michael
AW: Das macht so keinen Sinn
29.09.2017 11:23:26
Lukas
Hallo Michael,
verzeih, ich dachte mein Code aus dem Hauptbeitrag wäre in der Antwort sichtbar.
Sub Refresh()
Pfad$ = ThisWorkbook.Path
Ablage$ = Pfad$ + "\_"
Set fs = CreateObject("Scripting.FileSystemObject")
ActiveWorkbook.Connections("Ablage").Refresh
Call Aktuell
Kill Pfad$ + "\_\Ablage.csv"
alt_datei$ = Pfad$ + "\___Vorlagen\Ablage.csv"
Set datei_objekt = fs.GetFile(alt_datei$)
datei_objekt.Copy Ablage$, True
Call Filter_setzen
Call Filter_setzen
End Sub
Der Fehler Zugriff verweigert erscheint bei der Zeile:
datei_objekt.Copy Ablage$, True
Die Methode CopyFile wird nicht unterstützt.
Danke vielmals.
Anzeige
AW: Das macht so keinen Sinn
29.09.2017 11:33:22
Lukas
Ich hab's, trotzdem Danke!
Sub Refresh()
Pfad$ = ThisWorkbook.Path
Ablage$ = Pfad$ + "\_"
Set fs = CreateObject("Scripting.FileSystemObject")
ActiveWorkbook.Connections("Ablage").Refresh
Call Aktuell
Kill Pfad$ + "\_\Ablage.csv"
alt_datei$ = Pfad$ + "\___Vorlagen\Ablage.csv"
Set datei_objekt = fs.GetFile(alt_datei$)
datei_objekt.Copy Ablage$, True
Call Filter_setzen
Call Filter_setzen
End Sub
Bei
Ablage$ = Pfad$ + "\_"
Fehlte ein "\"
Nochmal...
29.09.2017 11:41:17
Michael
Hallo Lukas,
...Du verwendest die falsche Methode und das falsche Objekt:
Dim fs As Object: Set fs = CreateObject("Scripting.FileSystemObject")
fs.copyfile "VollerPfadAlteDatei", "VollerPfadNeueDatei", True
Siehe auch: https://msdn.microsoft.com/en-us/library/aa265015(v=vs.60).aspx
LG
Michael
Anzeige
AW: Nochmal...
29.09.2017 17:10:13
mmat
Hallo Michael,
ähm, sorry, aber
Copyfile ist eine Methode des Filesystemobjekts
Copy ist eine Methode eines Dateiobjekts
siehe:
https://msdn.microsoft.com/en-us/library/aa265014(v=vs.60).aspx
Also rein syntaktisch scheint die eine Zeile OK zu sein
vg, MM

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige