初心者備忘録

Webページ開設しました → 初心者備忘録: http://www.ka-net.org/

全体表示

[ リスト | 詳細 ]

記事検索
検索

全11ページ

[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]

[ 次のページ ]

Webページを開設しました

ドメインを取得しサーバもレンタルしましたので、Webページを開設しました。
当ブログの記事もそちらへ移そうと、現在移行作業中です(当ブログはしばらくそのまま残しておく予定です)。
リボンのカスタマイズを中心としたコンテンツを作成していく予定ですので、興味がある方は是非ご訪問ください。

初心者備忘録:http://www.ka-net.org/


以前書いた記事の応用で、今回はボタンの画像をアニメーションさせてみようと思います。

【Office 2007】ボタンでアニメーションする
1. Office 2007ファイルを開き、標準モジュールに下記コードを貼り付けた後保存します。(今回はExcelファイル)
Dim myRibbon As IRibbonUI
Dim myFlag As Boolean
Dim myNum As Integer
Const COUNT_IMAGE As Integer = 4    'イメージ数

Sub Ribbon_onLoad(ribbon As IRibbonUI)
  Set myRibbon = ribbon
  myNum = 1
End Sub

Sub myButton_getImage(control As IRibbonControl, ByRef image)
  Set image = LoadPicture(ThisWorkbook.Path & "\img" & myNum & ".BMP")
End Sub

Sub myButton_onAction(control As IRibbonControl)
  Call ChangeFlag
  Call PlayAnimation
End Sub

Sub ChangeFlag()
'フラグ変更用プロシージャ

  If myFlag = True Then
    myFlag = False
  Else
    myFlag = True
  End If
End Sub

Sub PlayAnimation()
'アニメーション再生用プロシージャ

  If myFlag = True Then
    If myNum >= COUNT_IMAGE Then
      myNum = 0
    End If
    
    myNum = myNum + 1
    Call myRibbon.InvalidateControl("myButton")
    Application.OnTime [Now() + "0:00:00.1"], "PlayAnimation"
  End If
End Sub
※ 上記コード内「COUNT_IMAGE」はアニメーション用の画像数です。今回は4つの画像をアニメーションさせてみます。

2. 1.のファイルと同じ場所に連続した画像(今回はimg1〜img4.BMPファイル)を置きます。
3. Custom UI Editor Toolで1.のファイルを開きます。
4. 下記コードを貼り付け、上書き保存します。
<customUI onLoad="Ribbon_onLoad" xmlns="http://schemas.microsoft.com/office/2006/01/customui">
  <ribbon startFromScratch="false">
    <tabs>
      <tab id="customTab" label="Custom Tab" insertBeforeMso="TabHome">
        <group id="customGroup" label="Custom Group">
          <button id="myButton" label="My Button" getImage="myButton_getImage" size="large" onAction="myButton_onAction" />
        </group>
      </tab>
    </tabs>
  </ribbon>
</customUI>
5. 4.のファイルをマクロを有効にして開くと、Custom Tabタブに「My Button」ボタンが表示されていることが確認できます。
イメージ 1

6. 「My Button」ボタンをクリックすると、ボタンの画像がアニメーションします。
イメージ 2


以上で作業は終了です。
上記コードでは「getImage」属性で画像を指定し、InvalidateControlで画像の変更を反映させる動作を、Application.OnTimeで連続して呼び出しています。
Application.OnTimeのタイミングにもよりますが、アニメーション動作中は通常操作は重くなってしまいますので、正直実用性はあまりないです…。


【関連記事】
ブログコンテンツ・リボンのカスタマイズ関連
http://blogs.yahoo.co.jp/kinuyo_asami/17750449.html


この記事に

開く コメント(1)

Webページを開設しました

ドメインを取得しサーバもレンタルしましたので、Webページを開設しました。
当ブログの記事もそちらへ移そうと、現在移行作業中です(当ブログはしばらくそのまま残しておく予定です)。
リボンのカスタマイズを中心としたコンテンツを作成していく予定ですので、興味がある方は是非ご訪問ください。

初心者備忘録:http://www.ka-net.org/


今回はリボンメニューに「乗換案内」タブをつけて、リボンからジョルダン 乗換検索ができるようにしてみようと思います。

ただ今回はコードが長く記事中に書くことができないため、Yahoo!ブリーフケースの中に「TrainRouteFinder.docm」として置いておきましたので、コードはファイルを展開して確認してください。

【Office 2007】リボンから「乗換案内」を利用する
1. 「TrainRouteFinder.docm」をマクロを有効にして開きます。
2. 「乗換案内」タブを開きます。
イメージ 1

3. 「出発・到着駅」や「時間」等、必要事項を入力して「検索する」ボタンをクリックします。
イメージ 2

4. Internet Explorerが起動し、検索結果が表示されます。
イメージ 3



今回はeditBoxやcomboBox、checkBox等を組み合わせてリボンをカスタマイズしてみました。
ただ、TrainRouteFinder.docmファイルは「customUI.xml」の中に全角文字を使用していますので「Custom UI Editor」では編集できません。
編集する際はファイルをZip解凍し、customUIフォルダの中にあるcustomUI.xmlを直接編集してください。


【関連記事】
「ブログコンテンツ・リボンのカスタマイズ関連」
http://blogs.yahoo.co.jp/kinuyo_asami/17750449.html


この記事に

開く コメント(0)

今日はgallery要素を使って、リボンからサムネイル画像を表示させてみようと思います。

【Office 2007】リボンでサムネイル画像を表示する
1. Custom UI Editor ToolでOffice 2007ファイルを開きます。(今回はxlsxファイル)
2. 下記のコードを貼り付けます。
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
  <ribbon startFromScratch="false">
    <tabs>
      <tab id="myTab" label="My Tab" insertBeforeMso="TabHome">
        <group id="myGroup" label="My Group">
          <gallery id="myGallery" label="My Gallery" size="large" imageMso="PictureReflectionGalleryItem" itemWidth="250" itemHeight="150" columns="2">
            <item id="myImage1" image="image1" />
            <item id="myImage2" image="image2" />
            <item id="myImage3" image="image3" />
            <item id="myImage4" image="image4" />
            <item id="myImage5" image="image5" />
            <item id="myImage6" image="image6" />
            <item id="myImage7" image="image7" />
            <item id="myImage8" image="image8" />
            <item id="myImage9" image="image9" />
            <item id="myImage10" image="image10" />
          </gallery>
        </group>
      </tab>
    </tabs>
  </ribbon>
</customUI>
3. 「InsertIcons」ボタンからイメージを挿入し、上書き保存します。(今回は10ファイル挿入し、イメージ名をimage1〜10にしています)
イメージ 1

※ 詳しいイメージの挿入方法は過去の記事を参照してください。

4. 3.のファイルを開くと、「My Tab」の「My Gallery」からサムネイル画像が表示できます。
イメージ 2


以上で作業は終了です。
上記の作業の通り、「itemWidth」属性で画像の幅を、「itemHeight」属性で画像の高さを指定することができ、「columns」属性で表示する列数を指定することができます。


【関連記事】
ブログコンテンツ・リボンのカスタマイズ関連
http://blogs.yahoo.co.jp/kinuyo_asami/17750449.html


この記事に

開く コメント(0)

今日はeditBoxを使って、リボンメニューにGoogle検索窓をつけてみようと思います。

【Office 2007】Google検索窓をつける
1. Office 2007ファイルを開き、標準モジュールに下記コードを貼り付けた後保存します。(今回はExcelファイル)
Sub myEditBox_onChange(control As IRibbonControl, text As String)
'Google検索用プロシージャ

  Dim objIE As Object
  Dim strParam As String
  Const URL As String = "http://www.google.co.jp/"
  
  If Len(text) <> 0 Then
    '検索ワードをURLエンコード
    text = EncodeURL(text)
    '検索用パラメータセット
    strParam = "search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&q=" & text & "&num=50"
    
    Set objIE = CreateObject("InternetExplorer.application")
    With objIE
      .Visible = True
      Call .Navigate(URL & strParam)
    End With
    Set objIE = Nothing
  End If
  
End Sub

Function EncodeURL(strWord As String) As String
'URLエンコード用Function

  Dim objSC As Object
  
  Set objSC = CreateObject("ScriptControl")
  With objSC
    .Language = "JScript"
    EncodeURL = .CodeObject.encodeURIComponent(strWord)
  End With
  Set objSC = Nothing

End Function
※ URLエンコード用の関数は下記Webページを参考にしました。
http://www.moug.net/faq/viewtopic.php?t=30165

2. Custom UI Editor Toolで1.のファイルを開きます。
3. 下記のコードを貼り付け、上書き保存します。
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
  <ribbon startFromScratch="false">
    <tabs>
      <tab id="myTab" label="My Tab" insertBeforeMso="TabHome">
        <group id="myGroup" label="My Group">
          <editBox id="myEditBox" label="Google" maxLength="50" sizeString="wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww" onChange="myEditBox_onChange" />
        </group>
      </tab>
    </tabs>
  </ribbon>
</customUI>
イメージ 1

※ editBoxの「maxLength」属性で、入力できる最大文字数を設定しています。
※ editBoxの「sizeString」属性で、editBoxのサイズを設定しています。
※ editBoxの「onChange」属性で、editBoxの値が変更されたときに呼び出される関数を指定しています。

4. 3.のファイルをマクロを有効にして開くと、My TabタブにGoogle検索窓が追加されているのが確認できます。
イメージ 2

5. この検索窓にキーワードを入力してEnterキーをクリックすると、Internet Explorerが起動し、入力したキーワードでGoogle検索されます。
イメージ 3

イメージ 4


以上で作業は終了です。
上記作業の通り「onChange」属性を使うことによって、editBoxの値が変更されたときにプロシージャを呼び出すことができます。


【関連記事】
「ブログコンテンツ・リボンのカスタマイズ関連」
http://blogs.yahoo.co.jp/kinuyo_asami/17750449.html


この記事に

開く コメント(0)

今日はタブの表示設定(Visible)を動的に変更して、特定の曜日にだけタブを表示させてみようかと思います。

【Office 2007】特定の曜日にのみタブを表示する
1. Office 2007ファイルを開き、標準モジュールに下記コードを貼り付けた後保存します。(今回はExcelファイル)
Sub myTab_getVisible(control As IRibbonControl, ByRef visible)
  '曜日により判断
  Select Case Weekday(Now)
    '火曜日の場合
    Case 3
      visible = True
    Case Else
      visible = False
  End Select
  
End Sub

Sub myButton_onAction(control As IRibbonControl)
  MsgBox "火曜日のみの処理です。"
End Sub
※ 上記コードではWeekday関数で曜日を取得しています。

2. Custom UI Editor Toolで1.のファイルを開きます。
3. 下記のコードを貼り付け、上書き保存します。
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
  <ribbon startFromScratch="false">
    <tabs>
      <tab id="myTab" label="My Tab" insertBeforeMso="TabHome" getVisible="myTab_getVisible">
        <group id="myGroup" label="My Group">
          <button id="myButton" label="My Button" imageMso="MailMergeRecipientsEditList" size="large" onAction="myButton_onAction" />
        </group>
      </tab>
    </tabs>
  </ribbon>
</customUI>
イメージ 1

4. 3.のファイルをマクロを有効にして開くと、火曜日に開いた場合は「My Tab」が表示されますが、
イメージ 2

それ以外の曜日に開いた場合は、タブが表示されません。
イメージ 3


以上で作業は終了です。
上記作業の通り「getVisible」属性を使うことによって、表示を動的に変更することができます。
これを使えば、例えば月曜日だけ「予定入力ボタン」を表示させたり、特定のIPアドレスのPCだけタブを表示させたりといったこともできるかと思います。


【関連記事】
「ブログコンテンツ・リボンのカスタマイズ関連」
http://blogs.yahoo.co.jp/kinuyo_asami/17750449.html


この記事に

開く コメント(0)

全11ページ

[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]

[ 次のページ ]


.


みんなの更新記事