Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

VBA - Ordner aus ListBox-Auflistung rauskopieren?

Frage Entwicklung VB for Applications

Mitglied: manuel5

manuel5 (Level 1) - Jetzt verbinden

08.10.2008, aktualisiert 16:54 Uhr, 5456 Aufrufe, 7 Kommentare

Hallo mal wieder;

Habe ja nun die Suche nun hinbekommen. Klappt super.
Nun wird mir das Ergebnis in der Listbox angezeigt - und daraus will ich nun - entweder - wenn er nur eine Datei findet den Ordner in welcher die Datei sich befindet, in ein vorher angelegtes Verzeichnis legen, oder - wenn er mehrer Files findet, dann die von mir markierten Items kopieren.

Ist dies möglich? In der Listebox wird mir ja der gesamt Pfad mitsamt den Dateinamen angezeigt.

Also Quasi C:\test1\test2\test3\testfile.txt

hier soll er mit eben den Ordner test3 nehmen und kopieren.

Hier mal meine Suche -->



Private Sub CommandButton1_Click()
Dim sInhalt As String
Dim strDirDate As String
Dim strSender As String

strDirDate = frmTickets.DTPicker3
strSender = frmTickets.TextBox37
nDate = Format(frmTickets.DTPicker3, "yymmdd")
strDirDate = nDate
Label3 = Suchbegriff
Label2 = "C:\test1\" & strDirDate & "\" & strSender
sInhalt = txtsfile
pfad = "c:\test1\" & strDirDate & "\" & strSender & "\*.*"
Suchbegriff = TextBox1
ListBox1.Clear
If TextBox1 = "" Then
MsgBox "Bitte erst Suchbegriff eingeben"
Else
Set objShell = CreateObject("WScript.Shell")
CommandLine = "%comspec% /c findstr /m /s /i /c:""" & Suchbegriff & """ """ & pfad & """ "

Set objExecObject = objShell.Exec(CommandLine)
If Not objExecObject.StdOut.AtEndOfStream Then
Filelist = Split(Trim(objExecObject.StdOut.ReadAll()), vbCrLf)
For i = 0 To UBound(Filelist) - 1
ListBox1.AddItem Filelist(i)
Next
Else
ListBox1.AddItem "Datei nicht gefunden"
End If
End If
End Sub
___________________________________________________________________________



Private Sub CommandButton5_Click()
Dim strDirPath As String
strDirPath = frmTickets.txtSpeicherPfad
Shell "explorer.exe /e, " & strDirPath, vbNormalFocus
End Sub

___________________________________________________________________________
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim pfad As String
pfad = ListBox1
pathonly = Left(pfad, InStrRev(pfad, "\"))
Shell "explorer.exe /e," & pathonly, vbNormalFocus

TextBox2 = pathonly

End Sub
___________________________________________________________________________
Private Sub CommandButton3_Click()
Dim strDirZiel As String
Dim strDirDate As String
Dim strDirPath As String
Dim strCopyVon As String
Dim strSender As String
'Dim strDir As String
Dim pfad As String
nDate = Format(frmTickets.DTPicker3, "yymmdd")
strDirZiel = "Z:\export_invoices\"
strDirDate = nDate
strSender = frmTickets.TextBox37

strCopyVon = '!!!!!!!!!!!!Dieser Pfad wird mir einfach nicht gelingen!!!!!!!!!!!!
strDirPath = frmTickets.txtSpeicherPfad
strCopyVonPath = Left(strCopyVon, InStrRev(strCopyVon, "\"))
CreateObject("Scripting.FileSystemObject").CopyFolder strCopyVonPath, strDirPath
Label4 = strDirPath
___________________________________________________________________________
Private Sub CommandButton2_Click()
Unload Me
End Sub
___________________________________________________________________________

Wie ermittler ich den Pfad --> strCopyVon Path?
Hab hin und her - aber es heisst immer - Pfad nicht gefunden.
Habt ihr ne Idee?

Gruß Manuel
Mitglied: bastla
08.10.2008 um 11:31 Uhr
Hallo manuel5!

Dein geposteter Code ist etwas unübersichlich (und auch nicht als solcher formatiert) - außerdem ist mir nicht ganz klar, ob Du nun "strCopyVon" oder "strCopyVonPath" benötigst, und worin sich die beiden Variablen unterscheiden sollen ...

... trotzdem hätte ich eine Erklärung anzubieten, warum es mit dem so
01.
strCopyVonPath = Left(strCopyVon, InStrRev(strCopyVon, "\"))
ermittelten Pfad nicht klappt: Am Ende dieses Pfades befindet sich ein "\" - wenn Du also
01.
strCopyVonPath = Left(strCopyVon, InStrRev(strCopyVon, "\") - 1)
verwendest, sollte das zumindest erledigt sein.

Grüße
bastla
Bitte warten ..
Mitglied: manuel5
08.10.2008 um 11:38 Uhr
Servus,

stimmt - du hast recht - strCopyVonPath wäre strCopyVon -1. NUR das -1 hab ich vergessen!

Ich check des mal

Danke

Gruß Manuel
Bitte warten ..
Mitglied: manuel5
08.10.2008 um 11:44 Uhr
Servus bastla nochmal,

also soweit so gut -

Nur nimmt er nur den Ordner-Inhalt und nicht den Ordner (test3) und nimmt den Ordner und kopiert ihn in mein Zielverzeichnis.
Mit -2 wenn ich angeb dann findet er wieder den Pfad nicht.....

Gruß Manuel
Bitte warten ..
Mitglied: bastla
08.10.2008 um 12:49 Uhr
Hallo manuel5!

Mit -2 wenn ich angeb dann findet er wieder den Pfad nicht.....
Das "-1" bezieht sich ja auch auf das letzte Zeichen (= "\") ...

Um den Ordnernamen zu erhalten (und ihn beim Kopieren an den Zielpfad anfügen zu können), könntest Du so vorgehen:
01.
strCopyVonPath = Left(strCopyVon, InStrRev(strCopyVon, "\") - 1) 
02.
strCopyVonFolder = Mid(strCopyVonPath, InStrRev(strCopyVonPath, "\") + 1) 
03.
 
04.
CreateObject("Scripting.FileSystemObject").CopyFolder strCopyVonPath, strDirPath & "\" & strCopyVonFolder)
Grüße
bastla
Bitte warten ..
Mitglied: manuel5
08.10.2008 um 12:56 Uhr
HAMMA!

s löfft!

Super - danke.

Gruß Manuel
Bitte warten ..
Mitglied: manuel5
08.10.2008 um 13:32 Uhr
Noch ne kleine Frage.

Den Pfad -->

strCopyVon = Label5

erhalte ich ja erst wenn ich den ListboxInhalt doppelklicke.
Gibt es ne Lösung hier den Label5 schon "vorher" zu füllen?

Bin da schon am rumbasteln - hab aber seh warhscheinlich den Baum vor lauter Wald ned

Gruß Manuel
Bitte warten ..
Mitglied: manuel5
08.10.2008 um 16:54 Uhr
Danke - habs gefunden - Einfach gleich bei der Suche den Pfad anlegen

Gruß Manuel
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
VB for Applications
gelöst Mehrere CSV Dateien aus verschiedenen Ordner einlesen via VBA (12)

Frage von mtufangil zum Thema VB for Applications ...

Microsoft Office
Excel VBA "SVERWEIS" über mehrere Dateien in Ordner (2)

Frage von Acht85 zum Thema Microsoft Office ...

VB for Applications
gelöst Excel VBA: Listbox per AddItem befüllen (5)

Frage von hesper zum Thema VB for Applications ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (32)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...