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

Refresh Desktop per VBA

Refresh Desktop per VBA
22.08.2014 16:16:23
Peter
Hallo Zusammen
Wie kann ich den Desktop per VBA 'refreshen' (F5)?
Auch mit dem Code von :
http://www.visualbasicscript.com/Refresh-Active-Desktop-m28195.aspx
geht es nicht (Fehlermeldung 'Variable' auf WScript.Sleep 100).
Ein Beispiel würde mir sehr helfen.
Bedanke mich zum voraus.

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Eventuell...
22.08.2014 20:17:17
Case
Hallo, :-)
... so?
Option Explicit
Sub Main()
Dim objTMP As Object
Set objTMP = CreateObject("Shell.Application").Namespace(0)
With objTMP
.Self.InvokeVerb "R&efresh"
End With
Set objTMP = Nothing
End Sub
Servus
Case

AW: Eventuell...
25.08.2014 12:11:25
Peter
Hallo Zusammen - ich bitte nochmals um Hilfe :
Danke für den Lösungsvorschlag ! Leider funktioniert er nicht.
Einfachshalber möchte ich den Code (gem. Link) noch vollständig darstellen.
wie gesagt - es gibt eine Fehlermeldung 'Variable' auf WScript.Sleep100 :
Benötigte Deklaration für Sleep :
Option Explicit
#If VBA7 Then
Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) 'For 64 Bit Systems
#Else
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) 'For 32 Bit Systems
#End If
'.. und jetzt zur eigentlichen Sub :
Public Sub Explorer_command_File()
'http://www.visualbasicscript.com/Refresh-Active-Desktop-m28195.aspx
Dim oFSO As Object
Dim sSCFFile As String
'Explorer Command File erzeugen um den Fokus auf den Desktop zu bringen
'C:\Users\u4898\AppData\Local\Temp
Set oFSO = CreateObject("Scripting.FileSystemObject")
sSCFFile = oFSO.BuildPath(oFSO.GetSpecialFolder(2), oFSO.GetTempName & ".scf")
With oFSO.CreateTextFile(sSCFFile, True)
.WriteLine ("[Shell]")
.WriteLine ("Command=2")
.WriteLine ("[Taskbar]")
.WriteLine ("Command=ToggleDesktop")
.Close
End With
' Toggle desktop and send F5 (refresh)
With CreateObject("WScript.Shell")
.Run """" & sSCFFile & """"
.Sleep 100
.SendKeys "{F5}"
End With
' Delete explorer command file
oFSO.DeleteFile sSCFFile
Set oFSO = Nothing
End Sub

Anzeige
Desktop refresh - aber wie ?
25.08.2014 12:14:41
Peter
Hallo Zusammen
Ja ich bitte nochmals um Hilfe - alle Codes stehen zum testen zur Verfügung.
Ich danke Euch im Voraus - Peter.

AW: Desktop refresh - aber wie ?
25.08.2014 14:28:21
Jürgen
Hallo Peter,
entferne den Punkt vor sleep - sonst wird es als Methode des WScript.Shell-Objekts interpretiert.
Gruß, Jürgen

AW: Desktop refresh - aber wie ?
25.08.2014 16:12:34
Peter
Hallo Lieber Jürgen - Der Punkt weggelassen führt zu keinem Ergebnis.
Ich habe folgenden Code gefunden unter
(http://www.experts-exchange.com/Programming/Languages/Visual_Basic/VB_Script/Q_22728805.html):
Ist dieser gefahrlos anwendbar? (überschreibe ich da nichts?)
Falls jemand diesen getestet hat, kann er mir diesen dann vollständig zur Verfügung stellen ?
Das würde mir sehr helfen - Danke zum voraus - Peter.
Option Explicit
Sub Aktualisieren ()
Dim objShell as Object
Dim strCommand as string
Set objShell = CreateObject("WScript.Shell")
strCommand = objShell.SpecialFolders("AppData") & "\Microsoft\Internet Explorer\Quick Launch\ _
Show Desktop.scf"
objShell.Run """" & strCommand & """", 1, False
objShell.SendKeys "{F5}"
Set objShell = Nothing
WScript.Quit
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige