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

Zugriff verweigert

Zugriff verweigert
04.08.2023 22:32:46
willi24
Von einer Spalte werden vorgegebene Verzeichnisse und Dateien wie (#EXCEL) aber ohne # in einer
zweiten Spalte in der Verzeichnisliste gesucht und wenn gefunden in die ersten Spalte deren #EXCEL
Verzeichniss verschoben.

Bei der Zeile --- fso.MoveFolder Range("H8"), Range("H9") ' Zugriff verweigert !!

--------------- das Programm mit Zugriff verweigert !!----------
Sub MoveFilesAndDirectories()
Dim ws As Worksheet
Dim lastRow As Long
Dim searchRange As Range
Dim cell As Range
Dim searchText As String
Dim destinationFolder As String
Dim SourceFolder As String
Dim sourceFile As String
Dim fso As Object ' FileSystemObject
Dim file As Object ' File or Folder ' Set the worksheet where the data is located
Set ws = ThisWorkbook.ActiveSheet '("Sheet1") ' Replace "Sheet1" with the actual sheet name
Range("C7") = 22: Range("I22").Select ' Set the range to search in columns H and I, starting from row 22
lastRow = ws.Cells(ws.Rows.Count, "H").End(xlUp).Row
Set searchRange = ws.Range("G22:I" & lastRow)
Range("H7") = searchRange
Range("C8") = lastRow
Set fso = CreateObject("Scripting.FileSystemObject") ' Create the FileSystemObject
For Each cell In searchRange.Rows ' Loop through each row
searchText = cell.Cells(1, 2).value ' Get the search text from column H
Range("H10") = searchText
destinationFolder = cell.Cells(1, 1).value ' Get the destination folder from column G
Range("H9") = destinationFolder
SourceFolder = cell.Cells(1, 3).value ' Get the source folder/file from column I
Range("H8") = Left(SourceFolder, Len(SourceFolder) - 1)
If fso.FolderExists(SourceFolder) Or fso.FileExists(SourceFolder) Then ' Check if the source folder/file exists
If InStr(1, Range("H8"), Range("H10"), vbTextCompare) > 0 Then ' Check if the search text is found in the source folder/file name
' If InStr(1, sourceFolder, searchText, vbTextCompare) > 0 Then
' Move the source folder/file to the destination folder
fso.MoveFolder Range("H8"), Range("H9") ' Zugriff verweigert !!
' fso.MoveFolder sourceFolder, destinationFolder
End If
End If
Next cell
Set fso = Nothing ' Clean up objects
Set searchRange = Nothing
Set ws = Nothing
End Sub

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zugriff verweigert
04.08.2023 22:55:36
onur
Wo ist die Datei denn? Ein maßgeschneidertes Makro ohne die entsprechende Datei zu posten, bringt nicht wirklich viel.
Zugriff verweigert
05.08.2023 14:01:20
Nepumuk
Hallo,

du kannst mit dem FileSystemObject keine Ordner auf ein anderes Laufwerk verschieben.

Gruß
Nepumuk
Zugriff verweigert
05.08.2023 15:19:12
willi24
Hallo,du kannst mit dem FileSystemObject keine Ordner auf ein anderes Laufwerk verschieben.
Gruß Nepumuk
Hallo,
Hier zur Beschreibung das Beispiel, in Spalte I folgen dann die Dateien .
Welche Möglichkeit gibt es denn und auch das Problem Zugriff verweigert ?
Gruß willi24
G H I
DEST_FOLDER SUCH_TXT SOURCE_FOLDER
-----------------------------------------------------------------------------------------------------
e:\##TEST\###test6\#ADOBE\ ADOBE e:\##TEST\test6\#ADOBE\
e:\##TEST\###test6\#EXCEL\ EXCEL e:\##TEST\test6\#EXCEL\
e:\##TEST\###test6\#TEST\ TEST e:\##TEST\test6\#TEST\
e:\##TEST\###test6\#VIRTUELL\ VIRTUELL e:\##TEST\test6\#VIRTUELL\
e:\##TEST\###test6\#VISUAL\ VISUAL e:\##TEST\test6\#VISUAL\
e:\##TEST\###test6\#VISUELL\ VISUELL e:\##TEST\test6\#VISUELL\
e:\##TEST\###test6\#VLC\ VLC e:\##TEST\test6\#VLC\
e:\##TEST\###test6\#VNC\ VNC e:\##TEST\test6\#VNC\
e:\##TEST\###test6\#WEB\ WEB e:\##TEST\test6\#WEB\
e:\##TEST\###test6\#WIN\ WIN e:\##TEST\test6\#WIN\
Anzeige
Zugriff verweigert
05.08.2023 15:48:00
willi24
Darstellung Richtig gestellt
----------G---------------------------------------H-------------------------------- I
DEST_FOLDER----------------------------- SUCH_TXT------------------ SOURCE_FOLDER
-----------------------------------------------------------------------------------------------------
e:\##TEST\###test6\#ADOBE\------------- ADOBE--------------- e:\##TEST\test6\ADOBE\
e:\##TEST\###test6\#EXCEL\--------------- EXCEL---------------- e:\##TEST\test6\EXCEL\
e:\##TEST\###test6\#TEST\ -----------------TEST----------------- e:\##TEST\test6\#TEST\
e:\##TEST\###test6\#VIRTUELL\------------ VIRTUELL------------ e:\##TEST\test6\PROGRAMME_VIRTUELL\
e:\##TEST\###test6\#VISUAL\ ---------------VISUAL-------------- e:\##TEST\test6\#VISUAL\
e:\##TEST\###test6\#VISUELL\-------------- VISUELL------------- e:\##TEST\test6\#VISUELL\
e:\##TEST\###test6\#VLC\------------------- VLC------------------ e:\##TEST\test6\#VLC\
e:\##TEST\###test6\#VNC\------------------ VNC----------------- e:\##TEST\test6\#VNC\
e:\##TEST\###test6\#WEB\------------------ WEB----------------- e:\##TEST\test6\ALLE_WEB\
e:\##TEST\###test6\#WIN\ -------------------WIN---------------- e:\##TEST\test6\WIN7-11\
----------------------------------------------------------------------- e:\##TEST\test6\Datenfile.........................
Anzeige
Zugriff verweigert
05.08.2023 21:00:36
willi24
HALLO Nepumuk

SUB ODER FUNKTION NICHT DEFINIERT BEI ->>> Call ExecuteFileOperation(objFileOperationClass, FO_MOVE)
-----------------------------------------------------------------------------------------------
Option Explicit
Public Enum FILE_OPERATION ' Define the enumeration for file operations
FO_MOVE = &H1
FO_COPY = &H2
FO_DELETE = &H3
FO_RENAME = &H4
End Enum
Public Type clsFileOperation
InputFile As String
OutputFile As String
End Type
Public Sub MoveFilesAndDirectories()
'''''###herber
Dim ws As Worksheet
Dim lastRow As Long
Dim searchRange As Range
Dim cell As Range, InputFile, OutputFile
Dim searchText As String
Dim destinationFolder As String
Dim SourceFolder As String
Dim fso As Object ' FileSystemObject
Dim objFileOperationClass As clsFileOperation ' Declare the variable of the custom type
' Set the worksheet where the data is located
Set ws = ThisWorkbook.ActiveSheet
' Find the last row in column H
lastRow = ws.Cells(ws.Rows.Count, "H").End(xlUp).Row
' Set the range to search in columns G, H, and I from row 22
Set searchRange = ws.Range("G22:I" & lastRow)
' Loop through each row in the search range
For Each cell In searchRange.Rows
searchText = cell.Cells(1, 2).value ' Get the search text from column H
destinationFolder = cell.Cells(1, 1).value ' Get the destination folder from column G
SourceFolder = cell.Cells(1, 3).value ' Get the source folder/file from column I
' Check if the source folder/file exists
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FolderExists(SourceFolder) Or fso.FileExists(SourceFolder) Then
' Check if the search text is found in the source folder/file name
If InStr(1, SourceFolder, searchText, vbTextCompare) > 0 Then
' Move the source folder/file to the destination folder
objFileOperationClass.InputFile = SourceFolder ' Set the source folder/file
objFileOperationClass.OutputFile = destinationFolder ' Set the destination folder
' Execute the file operation (assuming this sub is defined elsewhere)
Call ExecuteFileOperation(objFileOperationClass, FO_MOVE)
End If
End If
Set fso = Nothing ' Clean up the FileSystemObject for each iteration
Next cell
' Clean up objects
Set searchRange = Nothing
Set ws = Nothing
End Sub
Anzeige
Zugriff verweigert
06.08.2023 21:46:02
willi24
Hallo Nepumuk
Ich möchte mich vielmals Entschuldigen in 20 Jahren muss ich sagen das Sie der erste sind der so ein schwieriges Programm
gleich beim ersten mal funktionstüchtig liefert , eben in der Unwissenheit kopierte ich nur das Macro in mein Sheet , das natürlich wie ich nachher bemerkt ohne der cls Datei nicht funktionieren kann (bzw die Datenmaske mit Daten in Ihr leeres Blatt kopieren muss ).Ich wäre sehr Interessiert Problem von mir von Ihnen gelöst zu bekommen. Zur Anerkennung und Wertschätzung an Sie möchte jeweils einen Betrag überweisen.
mfg willi24
Zugriff verweigert
05.08.2023 20:56:33
willi24
HALLO Nepumuk

SUB ODER FUNKTION NICHT DEFINIERT BEI ->>> Call ExecuteFileOperation(objFileOperationClass, FO_MOVE)
-----------------------------------------------------------------------------------------------
Option Explicit
Public Enum FILE_OPERATION ' Define the enumeration for file operations
FO_MOVE = &H1
FO_COPY = &H2
FO_DELETE = &H3
FO_RENAME = &H4
End Enum
Public Type clsFileOperation
InputFile As String
OutputFile As String
End Type
Public Sub MoveFilesAndDirectories()
'''''###herber
Dim ws As Worksheet
Dim lastRow As Long
Dim searchRange As Range
Dim cell As Range, InputFile, OutputFile
Dim searchText As String
Dim destinationFolder As String
Dim SourceFolder As String
Dim fso As Object ' FileSystemObject
Dim objFileOperationClass As clsFileOperation ' Declare the variable of the custom type
' Set the worksheet where the data is located
Set ws = ThisWorkbook.ActiveSheet
' Find the last row in column H
lastRow = ws.Cells(ws.Rows.Count, "H").End(xlUp).Row
' Set the range to search in columns G, H, and I from row 22
Set searchRange = ws.Range("G22:I" & lastRow)
' Loop through each row in the search range
For Each cell In searchRange.Rows
searchText = cell.Cells(1, 2).value ' Get the search text from column H
destinationFolder = cell.Cells(1, 1).value ' Get the destination folder from column G
SourceFolder = cell.Cells(1, 3).value ' Get the source folder/file from column I
' Check if the source folder/file exists
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FolderExists(SourceFolder) Or fso.FileExists(SourceFolder) Then
' Check if the search text is found in the source folder/file name
If InStr(1, SourceFolder, searchText, vbTextCompare) > 0 Then
' Move the source folder/file to the destination folder
objFileOperationClass.InputFile = SourceFolder ' Set the source folder/file
objFileOperationClass.OutputFile = destinationFolder ' Set the destination folder
' Execute the file operation (assuming this sub is defined elsewhere)
Call ExecuteFileOperation(objFileOperationClass, FO_MOVE)
End If
End If
Set fso = Nothing ' Clean up the FileSystemObject for each iteration
Next cell
' Clean up objects
Set searchRange = Nothing
Set ws = Nothing
End Sub
Anzeige
Zugriff verweigert
06.08.2023 08:19:57
Nepumuk
Hallo,

warum änderst du die Prozedur ohne zu verstehen was sie macht?

Gruß
Nepumuk
Zugriff verweigert
07.08.2023 09:19:45
willi24
Hallo Nepumuk
Ich möchte mich vielmals Entschuldigen in 20 Jahren muss ich sagen das Sie der erste sind der so ein schwieriges Programm
gleich beim ersten mal funktionstüchtig liefert , eben in der Unwissenheit kopierte ich nur das Macro in mein Sheet , das natürlich wie ich nachher bemerkt ohne der cls Datei nicht funktionieren kann (bzw die Datenmaske mit Daten in Ihr leeres Blatt kopieren muss ).Ich wäre sehr Interessiert Problem von mir von Ihnen gelöst zu bekommen. Zur Anerkennung und Wertschätzung an Sie möchte jeweils einen Betrag überweisen.
mfg willi24
Anzeige
Zugriff verweigert
07.08.2023 09:21:18
willi24
Hallo Nepumuk
Ich möchte mich vielmals Entschuldigen in 20 Jahren muss ich sagen das Sie der erste sind der so ein schwieriges Programm
gleich beim ersten mal funktionstüchtig liefert , eben in der Unwissenheit kopierte ich nur das Macro in mein Sheet , das natürlich wie ich nachher bemerkt ohne der cls Datei nicht funktionieren kann (bzw die Datenmaske mit Daten in Ihr leeres Blatt kopieren muss ).Ich wäre sehr Interessiert Problem von mir von Ihnen gelöst zu bekommen. Zur Anerkennung und Wertschätzung an Sie möchte jeweils einen Betrag überweisen.
mfg willi24
Zugriff verweigert
06.08.2023 20:43:21
willi24
Hallo Nepumuk
Ich möchte mich vielmals Entschuldigen in 20 Jahren muss ich sagen das Sie der erste sind der so ein schwieriges Programm
gleich beim ersten mal funktionstüchtig liefert , eben in der Unwissenheit kopierte ich nur das Macro in mein Sheet , das natürlich wie ich nachher bemerkt ohne der cls Datei nicht funktionieren kann (bzw die Datenmaske mit Daten in Ihr leeres Blatt kopieren muss ).Ich wäre sehr Interessiert Problem von mir von Ihnen gelöst zu bekommen. Zur Anerkennung und Wertschätzung an Sie möchte jeweils einen Betrag überweisen.
mfg willi24
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige