vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Allgemeine Diskussionen
Re: OPEN & pfad, *.* 
Autor: Lord Of Trance
Datum: 27.08.04 19:30

Hallo gstigi!

Da schaust Du Dir mal am Besten folgenden Tipp an
Öffnen/Speichern-Dialog ohne ActiveX

Du musst das aber noch etwas (Excel-)VBA-freundlicher gestalten!

Also hier mal ein (Excel-)VBA-freundliches Beispiel fürs "Öffnen" (das Ganze in ein Modul einfügen)
[color=green]'zunächst die benötigten API-Deklarationen
Private Type OPENFILENAME
  lStructSize As Long
  hwndOwner As Long
  hInstance As Long
  lpstrFilter As String
  lpstrCustomFilter As String
  nMaxCustFilter As Long
  nFilterIndex As Long
  lpstrFile As String
  nMaxFile As Long
  lpstrFileTitle As String
  nMaxFileTitle As Long
  lpstrInitialDir As String
  lpstrTitle As String
  flags As Long
  nFileOffset As Integer
  nFileExtension As Integer
  lpstrDefExt As String
  lCustData As Long
  lpfnHook As Long
  lpTemplateName As String
End Type
 
Private Const OFN_READONLY = &H1
Private Const OFN_OVERWRITEPROMPT = &H2
Private Const OFN_HIDEREADONLY = &H4
Private Const OFN_NOCHANGEDIR = &H8
Private Const OFN_SHOWHELP = &H10
Private Const OFN_ENABLEHOOK = &H20
Private Const OFN_ENABLETEMPLATE = &H40
Private Const OFN_ENABLETEMPLATEHANDLE = &H80
Private Const OFN_NOVALIDATE = &H100
Private Const OFN_ALLOWMULTISELECT = &H200
Private Const OFN_EXTENSIONDIFFERENT = &H400
Private Const OFN_PATHMUSTEXIST = &H800
Private Const OFN_FILEMUSTEXIST = &H1000
Private Const OFN_CREATEPROMPT = &H2000
Private Const OFN_SHAREAWARE = &H4000
Private Const OFN_NOREADONLYRETURN = &H8000
Private Const OFN_NOTESTFILECREATE = &H10000
Private Const OFN_NONETWORKBUTTON = &H20000
Private Const OFN_NOLONGNAMES = &H40000
Private Const OFN_EXPLORER = &H80000
Private Const OFN_NODEREFERENCELINKS = &H100000
Private Const OFN_LONGNAMES = &H200000
Private Const OFN_SHAREFALLTHROUGH = 2
Private Const OFN_SHARENOWARN = 1
Private Const OFN_SHAREWARN = 0
 
Private Declare Function GetOpenFileName Lib "comdlg32.dll" _
  Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) _
  As Long
 
[color=green]'Öffnen-Dialog
 
[color=red]'Anmerkung: Public Function ShowOpenDlg(F As Form, strFilter 
' As String, ....
'geändert in:
Public Function ShowOpenDlg(strFilter As String, _
  strTitel As String, strInitDir As String) As String
 
  Dim lngOpenFileName As OPENFILENAME
  Dim lngAnt As Long
 
  With lngOpenFileName
    .lStructSize = Len(lngOpenFileName)
 
[color=red]'Anmerkung: .hwndOwner = F.hWnd
'geändert in:
    .hwndOwner = Application.Hwnd
 
[color=red]'Anmerkung:  .hInstance = App.hInstance
'geändert in:
    .hInstance = Application.hInstance
 
    If Right$(strFilter, 1) <> "|" Then _
      strFilter = strFilter + "|"
 
    For lngAnt = 1 To Len(strFilter)
      If Mid$(strFilter, lngAnt, 1) = "|" Then _
       Mid$(strFilter, lngAnt, 1) = Chr$(0)
    Next
 
    .lpstrFilter = strFilter
    .lpstrFile = Space$(254)
    .nMaxFile = 255
    .lpstrFileTitle = Space$(254)
    .nMaxFileTitle = 255
    .lpstrInitialDir = strInitDir
    .lpstrTitle = strTitel
    .flags = OFN_HIDEREADONLY Or OFN_FILEMUSTEXIST
 
    lngAnt = GetOpenFileName(lngOpenFileName)
    If (lngAnt) Then
      ShowOpenDlg = Trim$(.lpstrFile)
    Else
      ShowOpenDlg = ""
    End If
  End With
End Function
Das Aufrufen des Dialogs geht z.B. so:
Sub Beispiel()
Dim sFile As String
Dim sPfad As String
Dim sFilter As String
Dim sTitel As String
 
sFilter = "*.* (Alle Dateien)|*.*"
sTitel = "OPEN PANEL"
sPfad = "C:\"
 
sFile = ShowOpenDlg(sFilter, sTitel, sPfad)
If (sFile <> "") Then MsgBox "Ausgewählte Datei: " + sFile
End Sub
Cu
Lord Of Trance

Schlau gegoogelt ist halb gewonnen!
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
OPEN & pfad, *.*837gstigi19.08.04 18:20
Re: OPEN & pfad, *.*496Lord Of Trance27.08.04 19:30
Re: OPEN & pfad, *.*457gstigi06.09.04 09:41
Re: OPEN & pfad, *.*433thomae01.09.04 08:53

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel