Hallo Danny,
Post by dany-sahneich habe ein add-in programmiert. das add-in öffnet
passwortgeschützte excel-dateien, die auf einem laufwerk eines
servers liegen.
das add-in möchte ich auf verschiedenen rechnern installieren und
verwenden. das benötigte laufwerk hat auf den verschiedenen rechnern
leider einen unterschiedlichen lokalen laufwerksbuchstaben.
dann sollte man grundsätzlich den UNC-Pfad
(\\server\freigabename\RestVomPfad\Datei.xls)
benutzen, der ist nämlich eindeutig und somit auf jedem Rechner gleich,
der diesen Server erreichen kann!
Post by dany-sahneda ich manchmal etwas 'faul' sein möchte und gerne userfreundlich
programmiere kam mir die idee, dass man den benötigen lokalen
Laufwerkbuchstaben auch aus dem makro heraus suchen lassen könnte.
Der lokale Laufwerksbuchstabe ist IMO total unnötig. Selbstverständlich
kann man den aber auch ermitteln, wenn der Servername und der
Freigabename bekannt ist. Ist aber etwas umständlich.
Option Explicit
Private Declare Function WNetGetConnection _
Lib "mpr.dll" Alias "WNetGetConnectionA" ( _
ByVal lpszLocalName As String, _
ByVal lpszRemoteName As String, _
cbRemoteName As Long _
) As Long
Private Declare Function GetDriveType _
Lib "kernel32" Alias "GetDriveTypeA" ( _
ByVal nDrive As String _
) As Long
Private Declare Function GetLogicalDrives _
Lib "kernel32" () As Long
Private Const DRIVE_REMOTE = 4
Private Sub test()
MsgBox GetDriveFromUNC("\\Patrick\C")
End Sub
Private Function GetDriveFromUNC(strUNCDrive As String)
Dim i As Long
Dim lngLW As Long
Dim strUNC As String
Dim strLW As String
Dim dummy As Long
lngLW = GetLogicalDrives()
For i = 97 To 123
If lngLW And 2 ^ (i - 97) Then
strLW = Chr(i) & ":"
If GetDriveType(strLW) = DRIVE_REMOTE Then
strUNC = String(1001, 0)
WNetGetConnection strLW, strUNC, 1000
strUNC = Left(strUNC, InStr(1, strUNC, Chr(0)) - 1)
If InStr(LCase(strUNC), LCase(strUNCDrive)) = 1 Then
GetDriveFromUNC = Chr(i)
Exit Function
End If
End If
End If
Next
End Function
Post by dany-sahnedie werbung für dein buch war sehr gut. als hungriger unerfahrener
programmierer habe ich mir's natürlich schon bestellt. ich denke,
dass es mich in manchen dingen auf jeden fall noch weiterbringen
wird.
Freut mich ;-)
Post by dany-sahneein schönes wochenende wünscht dir
danny
Dir auch ein schönes WE!
Mfg
Michael
--
Michael Schwimmer
Home : http://michael-schwimmer.de
Excel VBA ISBN 3-8273-2183-2