Top-Themen

Aktuelle Themen (A bis Z)

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

VBA - Über, in explorer.exe (Suchfunktion) gefundene Einträge drucken

Mitglied: Romuald

Romuald (Level 1) - Jetzt verbinden

16.06.2019 um 07:46 Uhr, 447 Aufrufe, 7 Kommentare

Hallo zusammen,

ich würde gerne gefundene Dateien über eine VBA-Funktion drucken. Hierbei habe ich das Problem, dass ich mich nicht auf ein fixes Verzeichnis beziehen kann.

Shell liefert mir leider keinen Rückwert.

Hier mal der Ansatz:

Private Sub sf_Search_Click()
DescVar = Me.Name & "- sf_Search_Click"
On Error GoTo Err1

Dim strNo As String
Dim searchPath As String
Dim searchLocation As String

'Bsp:
strNo = "4028603600"

searchPath = "search-ms:displayname=Suchergebnisse%20in%20'Temp'&crumb=BeliebigeganzeZahl%3A%3D" & strNo & "%20ODER%20System.Generic.String%3A"
searchLocation = "&crumb=location:C%3A%5CUsers%5Cinfo%5CDownloads%5CTemp"

If Not strNo = "" Then
Call Shell("explorer.exe """ & searchPath & strNo & searchLocation & "", 1)
End If

Exit_err1:
Exit Sub
Err1:
MsgBox Err.Description
ErrInsert Err.Number, Err.Description, DescVar
Resume Exit_err1
End Sub

Würde mich freuen, wenn jemand von euch mir ein wenig Input geben könnte.

Grüße

Romuald
Mitglied: emeriks
17.06.2019, aktualisiert 20.06.2019
Hi,
zunächst: Nutze doch bitte Code Tags zum Posten von Codezeilen!

Ist es Absicht, dass Du "strNo" 2x erstetzt bzw. darüber verkettest?
Enmal erscheint es im "searchPath = ....." und dann nocheinmal in "Call Shell("explorer.exe ....."

Ausserdem ist dann das "crumb" mehrfach in der Kommandozeile.

01.
searchPath & strNo & searchLocation
ergibt mit strNo = "4028603600"
01.
 "search-ms:displayname=Suchergebnisse%20in%20'Temp'&crumb=BeliebigeganzeZahl%3A%3D4028603600%20ODER%20System.Generic.String%3A4028603600&crumb=location:C%3A%5CUsers%5Cinfo%5CDownloads%5CTemp"
E.
Bitte warten ..
Mitglied: Romuald
20.06.2019 um 06:02 Uhr
Hallo,

das ist schon richtig so. Es ist der original String, den der Explorer liefert, wenn nach 4028603600 gesucht wird. Habe hier nur den Suchwert als STRING definiert.

Grüße

Romuald
Bitte warten ..
Mitglied: colinardo
21.06.2019, aktualisiert um 14:01 Uhr
Servus,
ich würde gerne gefundene Dateien über eine VBA-Funktion drucken
Hierbei habe ich das Problem, dass ich mich nicht auf ein fixes Verzeichnis beziehen kann.
dann mach es halt übers FileSystemObject ohne Explorer-Gedöns:
01.
Dim strFolder, strSearchTerm, f, fso, objShell
02.
strFolder = "D:\Verzeichnis"
03.
strSearchTerm = "4028603600"
04.
Set fso = CreateObject("Scripting.FileSystemObject")
05.
Set objShell = CreateObject("Shell.Application")
06.

07.
For Each f In fso.GetFolder(strFolder).Files
08.
	If InStr(1,f.Name,strSearchTerm,vbTextCompare) > 0 Then
09.
		objShell.ShellExecute f.Path,"","","Print"
10.
	End If
11.
Next
Grüße Uwe
Bitte warten ..
Mitglied: Romuald
22.06.2019 um 03:42 Uhr
Hi Uwe,

das wäre ja zu einfach.... Der Suchstring müsste ja dann im Dateinamen drin sein. Was ich brauche geht etwas tiefer.

In einer Datei kann auf Seite 17 von 300 der Suchstring sein. Also brauche ich nur die Seite 17 und nicht das ganze Dokument.

Grüße

Romuald
Bitte warten ..
Mitglied: colinardo
22.06.2019, aktualisiert um 07:29 Uhr
Das wäre auch kein großes Problem, die Suche im Index ist gut dokumentiert und über ADO ansprechbar

https://docs.microsoft.com/de-de/windows/desktop/search/-search-sample-w ...
Bitte warten ..
Mitglied: colinardo
24.06.2019, aktualisiert um 11:21 Uhr
Falls du mit meinem Hinweis oben nicht weiter kommst hier ein einfaches Beispiel um mit der Windows Suche einen Ordner nicht rekursiv (wie du oben wolltest) beschränkt auf .txt Dateien nach einem Begriff zu durchsuchen und die gefundenen Dateien sofort auszudrucken:
Wenn man Rekursion wünscht tauscht man in der SQL Query das "DIRECTORY" durch "SCOPE" aus.
01.
' Pfad und Suchbegriff abfragen
02.
strSearchPath = InputBox("Suchpfad eingeben (nicht rekursiv):","Suchpfad","C:\Windows")
03.
strSearchTerm = InputBox("Suchbegriff eingeben:","Suchbegriff")
04.
' Dateifilter definieren
05.
strFileFilter = ".txt"
06.

07.
' Objekte erstellen
08.
Set objConnection = CreateObject("ADODB.Connection")
09.
Set objRecordSet = CreateObject("ADODB.Recordset")
10.
Set objShell = CreateObject("Shell.Application")
11.
Set objFSO = CreateObject("Scripting.Filesystemobject")
12.

13.
' Backslashes durch Slashes ersetzen
14.
strSearchPath = Replace(strSearchPath,"\","/",1,-1,vbTextCompare)
15.
' Verbindung herstellen
16.
objConnection.Open "Provider=Search.CollatorDSO;Extended Properties='Application=Windows';"
17.
' Recordset abfragen
18.
objRecordSet.Open "SELECT System.ItemNameDisplay, System.ItemPathDisplay, System.ItemTypeText FROM SystemIndex WHERE DIRECTORY='file:" & strSearchPath & "' AND System.ItemNameDisplay LIKE '%" & strFileFilter & "' AND CONTAINS('""" & strSearchTerm & """')", objConnection
19.
' Wenn Einträge gefunden wurden
20.
If Not objRecordset.EOF Then
21.
	objRecordSet.MoveFirst
22.
	Do Until objRecordset.EOF
23.
	    ' Voller Pfad
24.
	    strFullName = objRecordset.Fields.Item("System.ItemPathDisplay")
25.
	    ' Datei drucken
26.
	    objShell.ShellExecute strFullName,"","","Print"
27.
	    'nächste passende Datei
28.
	    objRecordset.MoveNext
29.
	Loop
30.
Else
31.
	' keine passende Datei gefunden
32.
	MsgBox "Kein Ergebnis",vbExclamation
33.
End If
34.

35.
' Recordset und Verbindung schließen
36.
objRecordset.Close
37.
objConnection.Close
38.
'Cleanup
39.
Set objRecordset = Nothing
40.
Set objConnection = Nothing
41.
Set objShell = Nothing
42.
Set objFSO = Nothing
Ärgenzend noch hilfreiche Links zur Formulierungssyntax bei Windows Search Queries mit SQL
Abfragebare und filterbare Spalten der Tabelle SystemIndex

Hope this helps
Grüße Uwe
Bitte warten ..
Mitglied: Romuald
24.06.2019 um 19:32 Uhr
Hi,

danke. Ich denke mein Problem ist dadurch lösbar.

Grüße

Romuald
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
Outlook Suchfunktion
Frage von DrPsychMicrosoft Office1 Kommentar

Hey liebe Admins, ich habe ein kleines Problem Problem: Also in meiner Firma haben die Mitarbeiter Folgendes Problem das ...

Administrator.de Feedback
Suchfunktion - Administrator.de
gelöst Frage von KMUlifeAdministrator.de Feedback7 Kommentare

Hallo Leute Mir ist aufgefallen, dass die Suchfunktion im Forum ziemlich spuckt. Bzw. fast nie eine sinnvolle Ausgabe ausgespuckt ...

Outlook & Mail
Outlook 2010 Suchfunktion
Frage von specialuserOutlook & Mail4 Kommentare

Hallo zusammen, kennt jemand von euch ein gutes Tool welches die Mailsuchfunktion in Outlook 2010 ersetzt bei einem User ...

Microsoft Office
Suchfunktion Excel einbauen
gelöst Frage von lupi1989Microsoft Office6 Kommentare

Hallo Leute, ich bräuchte bitte eure Hilfe,. weil ich da nicht weiterkomme. Hab ein Beispiel hier und hoffe, dass ...

Neue Wissensbeiträge
Humor (lol)
Preisvertipper
Information von Dilbert-MD vor 1 TagHumor (lol)6 Kommentare

Moin! weil heute Freitag ist, zeige ich Euch den Preisvertipper der Woche: vergesst den Acer Predator 21x, der ist ...

Windows Update
Sicherheitsupdate für SQL Server 2014 SP3
Information von sabines vor 2 TagenWindows Update2 Kommentare

Für den SQL Server 2014 existiert ein Sicherheitsupdate. Laut KB Artikel wird es als CU3 angezeigt: Server 2014 SP3 ...

Backup

Veeam Agent für MS Windows - neue Version verfügbar (bedingt jedoch offenbar .NET Framework 4.6)

Information von VGem-e vor 3 TagenBackup1 Kommentar

Moin Kollegen, einer unserer Server zeigte grad an, dass für o.g. Software ein Update verfügbar ist. Ob ein evtl. ...

Python

Sie meinen es ja nur gut - Microsoft hilft python-Entwicklern auf unnachahmliche Weise

Information von DerWoWusste vor 5 TagenPython2 Kommentare

Stellt Euch vor, Ihr nutzt python unter Windows 10 und skriptet damit regelmäßig Dinge. Nach dem Update auf Windows ...

Heiß diskutierte Inhalte
Windows Update
WSUS - erforderlich Updates
Frage von emeriksWindows Update24 Kommentare

Hi, ein gängiges Verfahren, welche Updates man am WSUS-Server genehmigen soll und welche nicht, beruft sich darauf, dass man ...

Debian
Alle Verbindungen bis auf eine IP Adresse blockieren
Frage von BananenmeisterDebian13 Kommentare

Hallo Zusammen, Ich habe einen Hyper-V Server auf dem ein debian (ohne desktop) läuft. Dort drauf ist ein Webserver ...

Windows 7
Windows 7: Keine Anmeldung mehr möglich
Frage von hreinartWindows 712 Kommentare

hallo, bei meinem win7 rechner (medion laptop) kann ich mich nicht mehr anmelden. er fährt ohne fehlermeldungen hoch, bringt ...

Netzwerke
Dataintegrity Win7
Frage von alexlaza11Netzwerke9 Kommentare

Schönen guten Abend, Ich wollte fragen wie ihr die Datenintigrität gewährleistet bei qualifizierten Systemen (Pharmaunternehmen, Lebensmittelkonzerne ect.) Die meisten ...