Netzlaufwerke 2

Bild

Betrifft: Netzlaufwerke 2
von: chris bc
Geschrieben am: 13.04.2005 07:01:21
Hallo VBA-Profis,
habe schon in der Recherche gesucht aber nichts gefunden und hoffe ihr könnt mir helfen.
Ich habe an meinem PC mehere Netzlaufwerke verbunden.
z.B
Laufwerk s ist verbinden auf Sahre xlz\xxx
Laufwerk o ist verbinden auf Sahre xl5\abc
Laufwerk r ist verbinden auf Sahre xlz\xua
usw..
jetzt möchte ich irgendiwe erreichen das es mir die ganzen Netzlaufwerke samt Pfad mit dem es verbunden ist "xlz\xxx" usw.. in eine textfile schreibt.Dann kann ich das ganze selbst weiterverarbeiten.Komme nur nicht daruf wie ich die Netzlaufwerke auslesen kann also z.b mit welchem Sahre Laufwerk o: verbunden ist usw..
Hoffe ich habs einigermaßen versändlich erklärt.
Bedanke mich vielmals für Lösungswege.
Besten Dank Christian

Bild

Betrifft: AW: Netzlaufwerke 2
von: Ralf (Schwabenland)
Geschrieben am: 13.04.2005 08:33:06
Hallo Christian,
also gestern wurde dir doch ein Lösungsansatz aufgezeigt. Um so ein komplettes Ding zu basteln braucht man auch etwas Zeit. Die hat nun auch nicht jeder. Und bei "VBA-Gut" denke ich, dass du mit dem Ansatz, den ich gebastelt habe (übrigens auch nur aus dem Tipp, den du gestern bekommen hast), was machen kannst.
Wenn du auf den Button "Drives" klickst listet er dir alle Laufwerke auf deinem PC in Spalte A. In Spalte B listet er dir die Shares. Das kannst du jetzt in ein txt-File packen. Codebeispiele gibt es in Massen in der Recherche.
Der Button Net_Use legt per Shell eine "net.txt" direkt auf C:\ an. Da sind dann auch die Shares drin.

https://www.herber.de/bbs/user/21075.xls
Und jetzt - frohes basteln.
Gruß
Ralf
Bild

Betrifft: AW: Netzlaufwerke 2
von: chris b
Geschrieben am: 13.04.2005 09:22:44
Wow , spitze !!! damit kann ich was anfangen ist super klasse.
habe gestern an der "idee" oder bin damit einfach nicht weitergekommen. Also konnte nichts damit anfangen !! Vielen dank ist total klasse !!!
gruß Christian
Bild

Betrifft: AW: Netzlaufwerke 2
von: chris b.
Geschrieben am: 13.04.2005 09:37:24
Hallo doch noch eine kleinigkeit,
vieleicht kannst du oder jemand mir doch noch was erklären.
Verstehe das einfach noch nicht und würde es gerne verstehen.
For a = 97 To 123
If L And 2 ^ (a - 97) Then
Cells(i, 1).Value = Chr(a - 32) & ":"
i = i + 1
End If
Next
Diese schleife trägt die netzlaufwerksbuchstaben in excel ein.
Aber warum also was passiert da ?
If L And 2 ^ (a - 97) Then was ist das z.b
und wie kommt mann auf sowas ?
Vielen dank noch einmal !
P.s wenn jemand eine deutsche Seite weiß wo der gesamte Code vom Ralf etwas erklärt wird würde ich mich sehr darüber freuen weil ich vor allem die API aufrufe nicht kenne.
danke
Bild

Betrifft: AW: Netzlaufwerke 2
von: Ralf (Schwabenland)
Geschrieben am: 13.04.2005 14:10:55
Hallo Chris,
also als Kleinigkeit würde ich das nicht bezeichnen. Ich beiß mich gerade selber in VB rein. Ich versuchs mal ansatzweise:
Wenn du dir den Kopf von Modul1 ansiehst, dann bemerkst du, dass hier auf eine "kernel32" verwiesen wird. Diese "kernel32.dll" bringt verschiedene Funktionen mit. z.B.:
GetDriveTypeA - ermittelt den Typ eines Laufwerkes.
in der "mpr.dll"
WNetAddConnectionA - zum Verbinden mit einem Netzwerklaufwerk
WnetCancelConnectionA - zum Lösen einer Netzwerkverknüpfung
... und so weiter und so weiter. Am besten, du "googelst" mal nach API Referenz, oder nach API Laufwerk, oder......
Im Kopf siehst du auch Konstanten. 5 für CD-ROM........
For a = 97 To 123 - tja was bedeutet das? Geh mal in Word und halte die ALT-Taste gedrückt und drücke dann auf dem Mummernblock (sollte natürlich eingschaltet sein) 97 viola ein kleines a erscheint. Du wirst es erraten ALT gedrückt und 98 - ein b erscheint.
If L And 2 ^ (a - 97) Then
Cells(i, 1).Value = Chr(a - 32) & ":"
L = GetLogicalDrives
Es erfolgt in dieser if-Abfrage also ein Abgleich zwischen den tatsächlich vorhandenen Laufwerken und den entsprechenden Konstanten. Wenn du das L in der if-Abfrage rauslässt, dann listet er dir einfach alle auf, also B, C, D, E, F..... usw.
In der nächsten Zeile wird der GROSSBUCHSTABE in die Spalte a geschrieben. Deshalb steht dort CHR(a - 33). Probier es mal in Word wieder aus. ALT Plus 86 ist das große D und den Doppelpunkt am Schluss der Zeile füge ich mit ein, weil die Funktion in Moful3 "Public Function LetterToUNC(DriveLetter As String) As String" einen Laufwerksbuchstaben nach der Form "T:" erwartet.
Das kann man sicherlich auch anders lösen und meine Erklärungen sind sehr bruchstückhaft, aber ich bin selber noch am lernen und ein Forum kann dir nicht alle Fragen beantworten, sondern da ist auch viel Eigenarbeit und Probieren gefragt.
Wie gesagt "googeln" nach API plus verschiedener Worte wie z. B. Laufwerk bringt dich dem Ziel das auch zu verstehen wenigstens ein Stück näher.
Gruß
Ralf
Bild

Betrifft: AW: Netzlaufwerke 2
von: chris b
Geschrieben am: 13.04.2005 19:36:48
Ralf vielen vielen Dank !!! Mehr kannich leider nicht sagen aber für so eine Erklärung bin ich dir 1000 mal zu dank verpflichtet.
Wie du sagst im forum kann man sowas nicht erklären aber das war schon super spitze und jetzt verstehe ich es auch etwas besser !! danke beste grüße Christian
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Excel automatisch öffnen?"