2012-12-10 4 views
0

Ma boîte de dialogue Ouvrir/Enregistrer qui fonctionnait sous Windows XP ne fonctionne plus sur Windows 7 64 bits. J'ai entendu que 'MSComDlg.CommonDialog' n'est pas compatible avec 64 bits. Voici mon ancien code: « Utilisez cette »Boîte de dialogue Ouvrir/Enregistrer Fonctionne avec Windows 64 bits

' Sub to show open/save dialog 
SUB OpenSave (varOpenSaveInputBox, varOpenSaveType, varOpenSaveFilter) 
    ' Create object 
    SET objComDlg32 = CreateObject("MSComDlg.CommonDialog") 
    ' Set memory buffer 
    objComDlg32.MaxFileSize = 260 
    ' Set filter 
    objComDlg32.Filter = varOpenSaveFilter 
    ' Show dialog 
    IF varOpenSaveType = 0 Then 
     objComDlg32.ShowOpen 
    ELSE 
     objComDlg32.ShowSave 
    End IF  
    ' Get filename from dialog 
    strOpenSave = objComDlg32.FileName 
    ' Check IF dialog is cancelled 
    IF strOpenSave <> vbNullString Then 
     ' Set to variable 
     objOpenSave.SetContent strOpenSave, TRUE 
    End If 
END SUB 

Je serais vraiment reconnaissant si vous être plus précis avec votre réponse plutôt que. DLL et OCX ne sont pas vraiment mon fort. Merci.

+0

Que signifie «ne fonctionne plus» exactement? Je pense que ce n'est pas un problème de Win7 64 bits. Quelle édition de bureau avez-vous? Je dois avoir l'édition du développeur. – dee

+3

quelle langue? vba, vbscript et activex sont toutes différentes technologies – SeanC

+0

@DanielDusek Je ne l'utilise pas au bureau, je l'utilise dans QlikView. J'ai besoin d'un dialogue OpenFile qui fonctionne dans Win7 64 bits. Si vous connaissez un remplacement pour 'MSComDlg.CommonDialog je l'apprécierais. – Disasterkid

Répondre

0

Ceci est VBA mais cela peut suffire à vous orienter dans la bonne direction. Le 3 déclare le type de dialogue que vous souhaitez ouvrir. Vous pouvez trouver cela et plus d'informations ici: http://msdn.microsoft.com/en-us/library/office/ff865284.aspx.

Sub FileSelect (Multi as Boolean) 
'Set Dlg = Application.FileDialog(msoFileDialogFilePicker) 
Set Dlg = Access.Application.FieDlialog(3) 
With Dlg 
    .Title = "Select the file you want to open" 
    .AllowMultiSelect = Multi 
    If .show = -1 Then 
     txtFilePath = .InitialFileName 
    Else 
     Exit Function 
    End If 
End With 

FileSelect = Dlg.selecteditems(1) 
End function 
Questions connexes