EXCELの起動(visible)

CREATEOLEOBJからExcelのCOMオブジェクトを作成し、
visibleプロパティを操作してExcel表示させます

visibleプロパティ
EXCEL.visible = True / False

visibleプロパティ
・True・・・オブジェクトを表示します
・False・・・オブジェクトを非表示にします

EXCELを起動する

さあ、まずはExcelのCOMオブジェクトを生成し、起動させてみましょう。

EXCEL = CREATEOLEOBJ("Excel.Application")
EXCEL.visible = True
EXCEL.Workbooks.add()

上記のスクリプトを実行してみましょう。
するとExcelが画面に表示されます。
冒頭の「EXCEL = CREATEOLEOBJ(“Excel.Application”)」で、
ExcelのCOMオブジェクト(インスタンス)を作成し、EXCELという変数に格納しています。
続いて、そのExcelオブジェクトのvisibleプロパティの値をTrueに設定しています。
visibleとは「可視性」の意味で、オブジェクトの表示/非表示を司ります。
ただし、InternetExplorerとは少し異なり、Workbooks.add()という一文を加えることで、
通常Excelを起動した場合と同じ状況になります。

visibleプロパティの順番を変えてみよう

例えばVisible=Trueを先ではなく、Workbooks.add()の後に行った場合はどうなるでしょうか。
結果は変わらないことが想像できますが、
試しにやってみましょう。
スクリプトは以下になります。

この投稿の続きを読む »

タグ

2012年6月29日 | コメントは受け付けていません。 |

カテゴリー:UWSCとExcel

IEの起動(visible)

CREATEOLEOBJからInternetExplorerのCOMオブジェクトを作成し、
visibleプロパティを操作してIEを表示させます

visibleプロパティ
IE.visible = True / False

visibleプロパティ
・True・・・オブジェクトを表示します
・False・・・オブジェクトを非表示にします

IEを起動する

さあ、まずはInternetExplorerのCOMオブジェクトを生成し、起動させてみましょう。

IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.visible = True

上記のスクリプトを実行してみましょう。
するとInternetExplorerが画面に表示されます。
冒頭の「IE = CREATEOLEOBJ(“InternetExplorer.Application”)」で、
InternetExplorerのCOMオブジェクト(インスタンス)を作成し、IEという変数に格納しています。
続いて、そのIEオブジェクトのvisibleプロパティの値をTrueに設定しています。
visibleとは「可視性」の意味で、オブジェクトの表示/非表示を司ります。

visibleプロパティをFalseにすると?

visibleプロパティで少し遊んでみましょう。
例えばTrueではなく、Falseをセットするとどうなるでしょうか。
何となく、「非表示」になることが想像できます。
しかし、そうなるとCOMオブジェクトは消えてしまうのでしょうか、それともどこかに隠れているだけなのでしょうか。
スクリプトで確認してみましょう。まず、非表示にしてみるスクリプトは以下になります。

この投稿の続きを読む »

タグ

2012年6月28日 | コメントは受け付けていません。 |

カテゴリー:UWSCとInternetExplorer

IEの基本スクリプト(CreateOLEObj)

UWSCコバヤシ式にアクセスする基本構文

IE = CreateOLEObj("InternetExplorer.Application")
IE.Visible = True
IE.Navigate("http://canal22.org/")
BusyWait(IE)
SLEEP(45)
IE.Quit // IE終了

//------
Procedure BusyWait(ie)
  Sleep(0.5)  // Wait
  Const TIME_OUT = 90
  tm = Gettime()
  repeat
    Sleep(0.2)
    ifb Gettime() - tm > TIME_OUT
      MsgBox("Time Out:BusyWait")
      ExitExit
    endif
  until (! ie.busy) and (ie.readyState=4)
  Sleep(0.5)
Fend
IE.Navigate("about:blank") // INPUT
BusyWait(IE)

解説

初にCreateOLEObjでCOMオブジェクトを作成します。
COMオブジェクト(COMコンポーネント)
Microsoftが提唱するオブジェクトの規格です。

プログラマーになるわけではなければ、
この辺はつっこまなくても良いかと思います。
呪文のように上記スクリプトを覚えれば、UWSCでIEの操作はできます。

ちなみに多くの例文が、IEという変数を使っているので、
インタネットエクスプローラーを扱うなら,
IEとしなければならないような錯覚に陥りますが、
実際は、IEYOUFとしても同様に動作します。

YOUFにしたサンプル

YOUF = CreateOLEObj("InternetExplorer.Application")
YOUF.Visible = True
YOUF.Navigate("http://canal22.org/")
BusyWait(YOUF)
SLEEP(45)
YOUF.Quit // YOUF終了

//------
Procedure BusyWait(YOUF)
  Sleep(0.5)  // Wait
  Const TIME_OUT = 90
  tm = Gettime()
  repeat
    Sleep(0.2)
    ifb Gettime() - tm > TIME_OUT
      MsgBox("Time Out:BusyWait")
      ExitExit
    endif
  until (! YOUF.busy) and (YOUF.readyState=4)
  Sleep(0.5)
Fend
YOUF.Navigate("about:blank") // INPUT
BusyWait(YOUF)

とはいえ、多くの方がIEとしているので、
IEにしておくのが無難です。
で、あとは、
オブジェクトに対してNavigateなどメソッドやプロパティを適用しています。
visibleは可視化でNavigateは移動です。
また、UWSC 上級者ページではCOMに関するさらに詳細な説明があります。

COMコンポーネントの解説は以下のページがわかりやすいです。
http://emeditor.web.fc2.com/EmEditor_Macro_COM_Component.html

タグ

2012年4月12日 | コメントは受け付けていません。 |

カテゴリー:逆引き関数

このページの先頭へ