返回列表 上一主題 發帖

[發問] 執行階段錯誤 '438': 物件不支援此屬性或方法

本帖最後由 av8d 於 2014-8-21 10:35 編輯

回復 20# GBKEE


    版主再次麻煩您~真不好意思~
附上代碼
  1. Private Sub CommandButton1_Click()
  2.     With CreateObject("InternetExplorer.Application")
  3.         .Navigate "https://google.com"
  4.         .Visible = True

  5.         Do While .Busy Or .ReadyState <> 4
  6.             DoEvents
  7.         Loop
  8.         .Document.Focus
  9.     End With
  10. End Sub
複製代碼
以上是最簡易的Google開啟的網頁
-------------------------------------------------
以下非常重要~首先我把按這按鈕放上這個代碼後
儲存並關閉EXCEL
然後重新開啟,直接按下按鈕後
您會看到Google網頁很明顯的在EXCEL後面
該如何讓網頁在最上層呢?
----------------------------------------------------
發現一個現象~每當開啟後端程式碼區後
再執行按鈕就會正常將網頁在最上層
但是當檔案關閉,開啟檔案後直接按按鈕,網頁又會再度跑到EXCEL後面

TOP

本帖最後由 av8d 於 2014-8-21 13:27 編輯

回復 20# GBKEE


    解決了~
我讓開EXCEL時,自動開啟程式碼,即可
  1. Private Sub Workbook_Open()
  2.     On Error Resume Next
  3.     Application.SendKeys ("%{F11}") '按下 Alt+F11 鍵
  4. End Sub
複製代碼
只是不清楚如何讓他最小化,努力查詢中
版主辛苦了~謝謝

TOP

回復 22# av8d
  1. Dim IE As Object
  2. Sub CommandButton1_Click()
  3.     Set IE = CreateObject("InternetExplorer.Application")
  4.     With IE
  5.         .Navigate "https://google.com"
  6.         .Visible = False  'ie 不顯示 替代IE最小化的指令        
  7.         '.Visible = True   'ie 顯示
  8.         'IE最小化要動用到API函數,可指定上,右,高,寬 替代IE最小化的指令
  9.         '.Top = 1
  10.         '.Left = 1
  11.         '.Width = 1
  12.         '.Height = 1
  13.         Do While .Busy Or .readyState <> 4
  14.             DoEvents
  15.         Loop
  16.     End With
  17. End Sub
  18. Sub Ex() '其他程式中呼叫IE
  19.     MsgBox IE.document.getElementsByTagName("Title")(0).innertext
  20.     IE.Quit
  21.     Set IE = Nothing
  22. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 23# GBKEE


    謝謝版主~想再請教版主~
一般我們打開EXCEL後~
按下Alt+F11會打開程式碼~
是否有最小化程式碼的寫法呢?謝謝!

TOP

回復 24# av8d
  1. Option Explicit
  2. Sub Ex()
  3.     With Application                    'Excel 物件
  4.         .WindowState = xlMinimized      '視窗最小化
  5.       '  .Visible = False                '決定物件是否可見:不可見
  6.         With .VBE.MainWindow            'VBA視窗 (Window 物件)
  7.             .Visible = True             'Alt+F11
  8.             .WindowState = vbext_ws_Maximize        '視窗最大化
  9.                         '= vbext_ws_Normal          '視窗一般化
  10.             Application.Wait Time + #12:00:02 AM#   '暫停2秒
  11.             .WindowState = vbext_ws_Minimize       '視窗最小化
  12.         '    .Visible = False            'Alt+q
  13.         End With
  14.       '  .WindowState = xlMaximized      '視窗最大化
  15.        ' .Visible = True                '決定物件是否可見:可見
  16.     End With
  17. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 25# GBKEE


    謝謝版主鼎力相助,完成如下
  1.     With Application
  2.         With .VBE.MainWindow
  3.             .WindowState = vbext_ws_Minimize
  4.             .Visible = False
  5.         End With
  6.     End With
複製代碼
真是受益良多~感激萬分!

TOP

        靜思自在 : 君子如水,隨方就圓,無處不自在。
返回列表 上一主題