Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema InputBox
BildScreenshot zu InputBox InputBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Laufwerk per VBA formatieren? | Herbers Excel-Forum


Betrifft: Laufwerk per VBA formatieren? von: Max
Geschrieben am: 18.11.2009 01:05:07

Als Teil eines längeren Prozesses würde ich gern das Formatieren eines USB Drive automatisieren.

Kann ich das per VBA bewerkstelligen oder ist das zu hoch gegriffen?

  

Betrifft: AW: Laufwerk per VBA formatieren? von: Tino
Geschrieben am: 18.11.2009 06:59:37

Hallo,
vielleicht reicht es Dir so schon aus, den Dialog mit vorgaben zu starten.

http://www.activevb.de/tipps/vb6tipps/tipp0152.html

Laufwerk als Zahl kannst Du mit ASC("F") -65 z. Bsp. ermitteln.
Für hwnd kannst Du eine 0 einsetzen.

Gruß Tino


  

Betrifft: AW: Laufwerk per VBA formatieren? von: Max
Geschrieben am: 18.11.2009 13:18:19

Danke Tino. Scheint alles abzudecken. Mit der Zahl ist klar, aber macht das hwnd irgendeinen Unterschied?

Bzw. meinst du einfach nach dem

drive = 8 (für H:),
hwnd = 0 ,zu setzen?


  

Betrifft: Me.Hwnd? = 0? von: Max
Geschrieben am: 18.11.2009 14:12:11

Sry, ich kriegs schlichtweg nicht zum Laufen. Schon im Original kommt das die Verwendung vom Schlüsselwort Me ungültig ist.


  

Betrifft: AW: Me.Hwnd? = 0? von: Tino
Geschrieben am: 18.11.2009 14:19:06

Hallo,
versuche es mal so.

Private Declare Function SHFormatDrive Lib "shell32" _
       (ByVal hwndOwner As Long, ByVal lngDrive As Long, _
       ByVal lngCapacity As Long, ByVal lngFormatType As _
       Long) As Long

Const SHFD_CAPACITY_DEFAULT = 0 ' Standard-Kapazität
Const SHFD_FORMAT_QUICK = 0     ' Quickformat, für NT = 1
Const SHFD_FORMAT_FULL = 1      ' Vollständig, für NT = 0

Private Sub Command1_Click()
  Dim Result&, Drive&
  
    'Laufwerk A: für C wird 2, D = 3 etc. eingesetzt
    Drive = Asc("F") - 65
    
    Result = SHFormatDrive(0, Drive, SHFD_CAPACITY_DEFAULT, SHFD_FORMAT_QUICK)
    
    Select Case Result
      Case Is > -1: MsgBox "In Ordnung"
      Case -1:  MsgBox ("Fehler")
      Case -2:  MsgBox ("Abbruch")
    End Select
End Sub
Gruß Tino


  

Betrifft: AW: Me.Hwnd? = 0? von: Max
Geschrieben am: 18.11.2009 15:07:15

Vielen Dank. Gut Und einfach. Damit kann ich den Teil des Projektes auf jeden Fall abschließen.

Es muß nicht, aber als Option, kann man noch hinzufügen daß das Formatiern direkt beginnt, man also nicht erst OK klicken muss?


  

Betrifft: weis ich jetzt auch nicht... von: Tino
Geschrieben am: 18.11.2009 16:33:49

Hallo,
als Kontrolle würde ich es sowieso nicht wollen, was ist wenn Du mal das falsche Laufwerk nimmst?

Gruß Tino


Beiträge aus den Excel-Beispielen zum Thema "Laufwerk per VBA formatieren?"