none
Excel2003巨集在Windows7作業系統上使用,無法插入Microsoft Commom Dialog Control, Version6.0物件 RRS feed

  • 問題

  • 請問一下
    我用excel2003寫一個巨集在XP & vista作業系統都能正常使用
    但是當我在win7的作業系統要使用時,open file卻會出現找不到成員或方法的錯誤訊息
    我有試著用手動去加入Microsoft Commom Dialog Control, Version6.0這個物件
    但是卻一直秀"無法插入物件"的錯誤訊息
    想請問是不是open file這個物件在win7系統不是使用Microsoft Commom Dialog Control, Version6.0這個問件
    還是有其他方法可以解決這個問題?
    麻煩解惑,謝謝。
    2010年1月12日 上午 04:03

解答

  • Sub macro1()
    Filter = "Text files (*.txt),*.txt"
    Caption = "Please Select a File " & TheUser
    SelectedFile = Application.GetOpenFilename(Filter, , Caption)
    ActiveSheet.Range("A1").Value = SelectedFile
    End Sub

    Cmf.Net (C) 2009
    • 已標示為解答 Jayce_Lin 2010年1月12日 上午 06:48
    2010年1月12日 上午 04:58
  • cmf 用的是 Office 內建公用對話盒,你原先要用的是 VB6 的共用對話盒。
    要用 VB6 的共用對話盒要安裝 VB6 開發環境。

    使用 cmf 方法請參考線上手冊:

    Excel 開發人員參考資料
    Application.GetOpenFilename 方法
    會顯示標準的 [開啟舊檔] 對話方塊,並從使用者取得檔案的名稱,而無須實際開啟任何檔案。

    語法

    運算式.GetOpenFilename(FileFilter, FilterIndex, Title, ButtonText, MultiSelect)

    運算式   代表 Application 物件的變數。

    [略]



    請明確解釋「好像也不行」、錯誤訊息。


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    • 已標示為解答 Jayce_Lin 2010年1月12日 上午 06:47
    2010年1月12日 上午 05:37

所有回覆

  • Sub macro1()
    Filter = "Text files (*.txt),*.txt"
    Caption = "Please Select a File " & TheUser
    SelectedFile = Application.GetOpenFilename(Filter, , Caption)
    ActiveSheet.Range("A1").Value = SelectedFile
    End Sub

    Cmf.Net (C) 2009
    • 已標示為解答 Jayce_Lin 2010年1月12日 上午 06:48
    2010年1月12日 上午 04:58
  • 我用你的程式好像也不行,以下是我的語法,在XP & VISTA都可以使用,唯獨WIN7不行,我想應該不是語法的問題
    不知道還有沒有別的解呢?謝謝。
        Sheet1.CommonDialog1.Filter = "*.pdf|*.pdf"       '第一個*.txt指檔案類型,第二個*.txt指檔案名稱
        Sheet1.CommonDialog1.DefaultExt = "*.*"
        Sheet1.CommonDialog1.FileName = ""
       
        Sheet1.CommonDialog1.ShowOpen
        Sheet1.Range("C41").Value = Sheet1.CommonDialog1.FileName     '取得文字檔目錄 + 檔案名稱
    2010年1月12日 上午 05:30
  • cmf 用的是 Office 內建公用對話盒,你原先要用的是 VB6 的共用對話盒。
    要用 VB6 的共用對話盒要安裝 VB6 開發環境。

    使用 cmf 方法請參考線上手冊:

    Excel 開發人員參考資料
    Application.GetOpenFilename 方法
    會顯示標準的 [開啟舊檔] 對話方塊,並從使用者取得檔案的名稱,而無須實際開啟任何檔案。

    語法

    運算式.GetOpenFilename(FileFilter, FilterIndex, Title, ButtonText, MultiSelect)

    運算式   代表 Application 物件的變數。

    [略]



    請明確解釋「好像也不行」、錯誤訊息。


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    • 已標示為解答 Jayce_Lin 2010年1月12日 上午 06:47
    2010年1月12日 上午 05:37
  • 對不起,下次會注意
    謝謝。

    2010年1月12日 上午 06:47