Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Refresh Desktop per VBA

Forumthread: 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.

Anzeige

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

Anzeige
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
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige