Commondialog в Windows 2000.

Тема в разделе "Остальные БД", создана пользователем CHIP, 26 окт 2006.

  1. CHIP

    CHIP Гость

    В общем такая проблема... В аутлук-форме, на вкладке чтения нужно иметь возможность добавления файла в Аттач...

    Такой код:

    Код (Text):
    Set objDialog = CreateObject("UserAccounts.CommonDialog")
    objDialog.Filter = "Все файлы (*.*)|*.*"
    objDialog.InitialDir = "D:\"
    intResult = objDialog.ShowOpen
    If intResult <> 0 Then
    Set objAttachments = Item.Attachments
    objAttachments.Add objDialog.FileName
    End If
    Set objDialog = Nothing
    Set intResult= Nothing
    В WinXP все отлично работает.. а вот в 2000-ом и ниже - не пашет, жалуется так:
    Невозможно создание объекта контейнером ActiveX: UserAccounts.CommonDialog

    Вот хотелось бы узнать, как это все осуществить и на ХР и на 2000-ом...
    Читал что можно использовать API... но как приведенный код переписать на VBScript тоже не знаю...
    такой код:

    Код (Text):
    Option Explicit

    Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias _
    "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long

    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 Sub Command1_Click()
    Dim OpenFile As OPENFILENAME
    Dim lReturn As Long
    Dim sFilter As String
    OpenFile.lStructSize = Len(OpenFile)
    OpenFile.hwndOwner = Form1.hWnd
    OpenFile.hInstance = App.hInstance
    sFilter = "Batch Files (*.bat)" & Chr(0) & "*.BAT" & Chr(0)
    OpenFile.lpstrFilter = sFilter
    OpenFile.nFilterIndex = 1
    OpenFile.lpstrFile = String(257, 0)
    OpenFile.nMaxFile = Len(OpenFile.lpstrFile) - 1
    OpenFile.lpstrFileTitle = OpenFile.lpstrFile
    OpenFile.nMaxFileTitle = OpenFile.nMaxFile
    OpenFile.lpstrInitialDir = "C:\"
    OpenFile.lpstrTitle = "Use the Comdlg API not the OCX"
    OpenFile.flags = 0
    lReturn = GetOpenFileName(OpenFile)
    If lReturn = 0 Then
    MsgBox "The User pressed the Cancel Button"
    Else
    MsgBox "The user Chose " & Trim(OpenFile.lpstrFile)
    End If
    End Sub
    Кто знает, подскажите плиз.
     
Загрузка...

Поделиться этой страницей