Forumbeitrag
Excel-Version des Fragestellers:
2022
Erfahrungslevel des Fragestellers:
Excel gut - VBA gut
Moin, :-)
… beim ersten
Start wäre dann
PowerShell. ;-)
Das in eine
FJ.ps1 Datei: ;-)
$path = "C:\Temp"
$include = Read-Host "Dateiname MUSS enthalten"
$exclude = Read-Host "Dateiname DARF NICHT enthalten"
Get-ChildItem $path -Filter "*.xls*" |
Where-Object {$_.Name -like "*$include*" -and $_.Name -notlike "*$exclude*"} |
ForEach-Object {$excel.Workbooks.Open($_.FullName)}
Dann
Doppelklick auf die Datei,
oder per VBA aufrufen (
man kann in PowerShell auch eine VB-Inputbox aufrufen). ;-)
Oder die
Parameter aus VBA
übergeben - dann so in
VBA: ;-)
Option Explicit
Public Sub Main()
Dim strSuch As String
Dim strEx As String
strSuch = "Juni"
strEx = "abc"
Shell "powershell.exe -ExecutionPolicy Bypass -File ""C:\Temp\FJ.ps1"" """ & strSuch & """ """ & strEx & """", vbHide 'vbNormalFocus
End Sub
Und die
FJ.ps1 Datei sieht dann
so aus: ;-)
param([string]$Include, [string]$Exclude)
$path = "C:\Temp"
Get-ChildItem $path -Filter "*.xls*" |
Where-Object {$_.Name -like "*$Include*" -and $_.Name -notlike "*$Exclude*"} |
ForEach-Object {Start-Process $_.FullName}
Das wäre dann für die Wein- bzw. Sake Trinker. ;-)
Servus
Case