ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

Lotus Scriptコミュのスプラッシュをスクリプトで実現

  • mixiチェック
  • このエントリーをはてなブックマークに追加
 アプローチで造った業務システムの起動時に、スプラッシュ、もどきでも、出せないかと考え、ついでにお待たせ時間に「進捗バー」もどきを出せないかと策を弄してみました。マクロだと自分でウィンドウ消さないといけないので、、、と。

 キモは背景画像等にスプラッシュ画像を貼り付けておいて切り替え、オブジェクトの表示・非表示を切り替えていくことです。進捗バーは特にバーの長さの違うものを重ねて貼り付けておき、切り替えていきます。

 ただ、タイマー処理はどうも非同期というかシステム依存で、うまいちうまく設定時間通り動きません^_^;

* * * * * * *

 まず、スクリプトエディタを開く。

 ApproachオブジェクトのDocumentopendスクリプトに下記のようにスクリプトを書く。これはアプローチがアプローチファイルを開くときロード、実行される。

* * * * * * *

Sub Documentopened(Source As Application, Document As DOCUMENT)

Call splash 'スプラッシュを出すスクリプトをコール

RunApproachMacro("起動時マクロ") '起動時マクロをコール

End Sub

* * * * * * *

 次に、以下のスクリプトを書く。これがスプラッシュのスクリプト本体。

* * * * * * *

Public Function splash

'(c) 2007 Naotaka Igarashi/QOLe ACCT L.P.
'2007.11.16

'スプラッシュと起動進捗バー(のダミー)を表示します
'ただし0時をまたぐと進捗バーを正しく表示できません!
'また起動タイミングにより進捗バーの表示が乱れることがあります
'タイトル画像、起動メッセージと進捗バーは適宜設定して下さい


Dim sec As Single, start As Single, finish As Single, counter

As Integer, last As Integer

sec! = 3 '進捗バーの伸び回数=表示時間


If CurrentView.Document.Name <> "ファイル名" Then End 'スクリ

プトを出すアプローチファイル名を指定


Set CurrentWindow.ActiveView = CurrentDocument.背景 '背景画

像等にスプラッシュ画像を貼り付けておいて切り替える

CurrentView.Body.ObjPicture.visible=True 'スプラッシュ表


CurrentView.Body.ObjText.visible=True '起動メッセージ

表示
CurrentView.Body.ObjText1.visible=True '進捗バー空
CurrentView.Body.ObjText2.visible=False '進捗バー短
CurrentView.Body.ObjText3.visible=False '進捗バー中
CurrentView.Body.ObjText4.visible=False '進捗バー長


'3秒間スプラッシュを表示し進捗バーを延ばす

start! = Timer
finish! = start! + sec!
last% = 3
While Timer < finish!
counter% = Int(finish!) - Int(Timer)
If last% >= counter% Then
If counter% = 3 Then

CurrentView.Body.ObjText2.visible=True
If counter% = 2 Then

CurrentView.Body.ObjText3.visible=True
If counter% = 1 Then

CurrentView.Body.ObjText4.visible=True
last% = counter%
End If
Wend


'一秒待機
sec! = 1
start! = Timer
finish! = start! + sec!
While Timer < finish!
Wend


CurrentView.Body.ObjPicture.visible=False 'スプラッシュ消


CurrentView.Body.ObjText.visible=False '起動メッセージ

消す
CurrentView.Body.ObjText1.visible=False
CurrentView.Body.ObjText2.visible=False
CurrentView.Body.ObjText3.visible=False
CurrentView.Body.ObjText4.visible=False


End Function

* * * * * * *

 考え付けば案外簡単なことです^_^?
 スクリプトはフリーですが、一切免責で願います^_^)

 ちなみにブログ http://iga.sblo.jp/ と同じ内容です。

コメント(0)

mixiユーザー
ログインしてコメントしよう!

Lotus Script 更新情報

Lotus Scriptのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング