Bestand openen na opstarten alleen op woensdag en zaterdag

Status
Niet open voor verdere reacties.
echo %date%
geeft als resultaat 20/08/22
 
Dan staat bij jou de dagnaam er niet in en daarom werkt het niet.
Daarnaast kan je beter die VBS gebruiken die ik plaatste omdat die ook controleert of dat document als eens was geopend op diezelfde dag.
Dat wilde je ook.
 
Onderstaande krijg ik niet werkend.
Code:
ExcelDoc = """E:\INDEX\Mijn Boekhouding\Mijn Werkzaamheden\Back-ups op woensdag en zaterdag maken.xlsx"""

Set WshShell = WScript.CreateObject("WScript.Shell")
Set Fso      = CreateObject("Scripting.FileSystemObject")
Dag          = DatePart("w", Date())
TmpFile      = WshShell.ExpandEnvironmentStrings("%Temp%") & "\OpenExcelDoc_" & Dag & ".tmp"

Select Case Dag
  Case 4, 7: OpenExcelDoc
  Case Else
    If FileExists(TmpFile) Then
      Fso.DeleteFile TmpFile
    End If
End Select

Sub OpenExcelDoc
  If Not FileExists(TmpFile) Then
    Fso.CreateTextFile TmpFile, True
    WshShell.Run ExcelDoc, 1, False
  End If
End Sub

Function FileExists(FilePath)
  Set fso = CreateObject("Scripting.FileSystemObject")
  If fso.FileExists(FilePath) Then
    FileExists=CBool(1)
  Else
    FileExists=CBool(0)
  End If
End Function
 
Ik had 'm in m'n bericht iets aangepast.
Deze werkt hier prima:
Code:
ExcelDoc = """E:\INDEX\Mijn Boekhouding\Mijn Werkzaamheden\Back-ups op woensdag en zaterdag maken.xlsx"""

Set WshShell = WScript.CreateObject("WScript.Shell")
Set Fso      = CreateObject("Scripting.FileSystemObject")
Dag          = DatePart("w", Date())
TmpFile      = WshShell.ExpandEnvironmentStrings("%Temp%") & "\OpenExcelDoc_*.tmp"

Select Case Dag
  Case 4, 7: OpenExcelDoc
  Case Else
        Fso.DeleteFile TmpFile
End Select

Sub OpenExcelDoc
  TmpFile = Replace(TmpFile, "*", Dag)
  If Not FileExists(TmpFile) Then
    Fso.CreateTextFile TmpFile, True
    WshShell.Run ExcelDoc, 1, False
  End If
End Sub

Function FileExists(FilePath)
  Set fso = CreateObject("Scripting.FileSystemObject")
  If fso.FileExists(FilePath) Then
    FileExists=CBool(1)
  Else
    FileExists=CBool(0)
  End If
End Function
 
Laatst bewerkt:
Als ik klik/dubbelklik op OpenExcelDoc.vbs gebeurt er helaas niets. Deze staat op het bureaublad.
 
Dat weet ik dan zo ook niet.
Werkt hier prima.

Zet dit eens in een .vbs bestandje en laat weten wat hij toont:
Code:
WScript.Echo DatePart("w", Date())
 
Windows Script Host
7
OK
 
Dat is goed en zou ik zo niet weten waarom dat script het niet doet.

Heb je toevallig een bestand met de naam OpenExcelDoc_*.tmp in je temp map staan?
Verwijder die dan.
 
Oké, heel veel dank.:thumb: Jammer dat dit dan niet lukt. Je hebt er genoeg tijd ingestopt en dan ga ik verder met een oude System Scheduler.
 
Last resort is dat document altijd openen waar je de controle dan in de Workbook_Open doet.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan