BEAGLE-HC 医薬品、医療機器の研究・開発 ポータルサイト
 現在位置 : HOME > ITの活用 プログラミング > Word コードライブラリアン(ウィンドウ操作)
くすりのこと
 治療薬の最前線
データブック
 ヘルスケア市場
 データブック
 (売上ランキング)
ニュース
 企業ニュース
 (パイプラインニュース)
 (財務・決算ニュース)
 (M&Aニュース)
 メディアニュース
ITの活用
 バリデーション
 セキュリティ
 WORD文書の作成
 プログラミング
 (Word/VBA)
 (Excel/VBA)
 (Access/VBA)
 (SAS)
 (SQL)
イベント
 イベントカレンダ
製薬会社研究
 製薬会社
 製薬会社研究
 決算短信一覧
 
 
 
記述の規則 開始・終了処理 プログラム制御 ファイル操作
文章の操作 表の操作 文章の書式操作 関数
ウィンドウ操作 印刷 サンプルプログラム  
 
Page Index
●Wordを最大化・最小化する
●Wordを画面の表示領域外に表示する
●Wordの画面を指定した位置に表示する
●ウインドウ枠の横分割
●ウインドウ枠の縦分割
●タイトル バーに表示される名前を設定する
●メニュバーにバージョン情報を表示する
●メニューやメニュー項目を削除または復元する
●メニューバーを非表示にする
●メニュバーのボタンを削除する
●新しいメニュー バーをアプリケーションに追加する
●新しいメニューアイテムをメニュー バーに追加する
●メニュバー名およびメニュ名を取得する
●新しいツールバー・ツールボタンを追加する
●ツールバー名およびツールバーボタン名を取得する
●ツールバーを非表示にする
●すべてのツールバーを非表示にする
●すべてのコマンドバーを非表示にする
●ステータスバーにメッセージを表示する
●次のボタンをFocusする
●SendKeys メソッドを使って 項目のtab移動をする
●ダイアログボックスをInputBox関数で表示する
●メッセージボックスを表示する
●メッセージボックスのメッセージを途中で改行する
●シート上のテキストボックスの表示位置を移動する
 
本章では、ウインドウ操作(GUIに関わる部分)についてコードサンプルを示しながら説明しています。
 
Wordを最大化・最小化する ↑ このページの最初へ
'Wordを最大化します
Application.WindowState = wdWindowStateMaximize
'Wordを最小化します
Application.WindowState = wdWindowStateMinimize
'Wordを元に戻します
Application.WindowState = wdWindowStateNormal
 
Wordを画面の表示領域外に表示する ↑ このページの最初へ
'Wordを画面上で見えなくします
Dim myTop As Double
Dim myLeft As Double

'現在のWordの表示位置を取得
myTop = Application.Top
myLeft = Application.Left

'Wordが最大化、もしくは最小化で表示されていたら処理を終了
If Application.WindowState <> xlNormal Then Exit Sub
'Wordを画面の表示領域外に表示
Application.Left = -Application.Width

'Wordを元の位置に再表示
Application.Top = myTop
Application.Left = myLeft
 
Word画面を指定した位置に表示する ↑ このページの最初へ
'Wordをリサイズする

Dim myTop As Double
Dim myLeft As Double
Dim myWidth As Double
Dim myHeight As Double


'現在のWordの表示位置を取得

If Application.WindowState <> xlNormal Then
'Wordが最大化、もしくは最小化されている

Else
 myLeft = Application.Left
 myTop = Application.Top
 myWidth = Application.Width
 myHeight = Application.Height
End If

If Application.WindowState = xlNormal Then
 Application.Left = 480
 Application.Top = 85.75
 Application.Width = 288.75
 Application.Height = 356
End If

'Word表示を元に戻す
Application.Left = myLeft
Application.Top = myTop
Application.Width = myWidth
Application.Height = myHeight
 
ウインドウ枠の横分割 ↑ このページの最初へ
ActiveWindow.SplitRow = 13

ウインドウ分割を解除する
ActiveWindow.SplitRow = 0
 
ウインドウ枠の縦分割 ↑ このページの最初へ
ActiveWindow.SplitColumn = 5

ウインドウ分割を解除する
ActiveWindow.SplitRow = 0
 
タイトル バーに表示される名前を設定する ↑ このページの最初へ
Application.Caption = "ブルー スカイ予約システム
 
メニュバーにバージョン情報を表示する ↑ このページの最初へ
MenuBars(xlWorksheet).Menus.Add Caption:="バージョン情報(&M)"

MenuBars(xlWorksheet).Menus("バージョン情報(&M)").MenuItems.Add Caption:= "Ver.5"
 
メニューやメニュー項目を削除または復元する ↑ このページの最初へ
For Each mb In MenuBars
For Each mn In mb.Menus
mn.Delete
Next mn
Next mb
End Sub

Sub すべてのメニュの状態を元にもどす()
For Each mb In MenuBars
mb.Reset
Next mb

組み込みのメニュー バーを非表示にすることはできない(Word95)
 
メニューバーを非表示にする ↑ このページの最初へ
*Word97以降で有効

Sub メニューバーを非表示にする
CommandBars("Worksheet Menu Bar").Enabled = False

'メニューバーを元に戻す
CommandBars("Worksheet Menu Bar").Enabled = True
End Sub

参考1(メニュバーの構造)
メニュバー
メニュ
メニュアイテム

参考2(メニュバーの種類は以下のようにたくさんある)
Worksheet Menu Bar
Chart Menu Bar
Standard
Formatting
PivotTable
Chart
Reviewing
Forms
Stop Recording
External Data
Auditing
Full Screen
Circular Reference
Visual Basic
Web
Control Toolbox
Exit Design Mode
Drawing
Query and Pivot
Workbook tabs
Cell
Column
Row
Cell
Column
Row
Ply
XLM Cell
Document
Desktop
Nondefault Drag and Drop
AutoFill
Button
Dialog
Series
Plot Area
Floor and Walls
Trendline
Chart
Formula Bar
PivotTable Context Menu
Query
Query Layout
AutoCalculate
Object/Plot
Title Bar (Charting)
Layout
WordArt
Picture
Shadow Settings
3-D Settings
Borders
Chart Type
Pattern
Font Color
Fill Color
Line Color
Order
Nudge
Align or Distribute
Rotate or Flip
Lines
Connectors
AutoShapes
Callouts
Flowchart
Block Arrows
Stars & Banners
Basic Shapes
Shapes
Inactive Chart
Word Control
Curve
Curve Node
Curve Segment
Pictures Context Menu
OLE Object
ActiveX Control
WordArt Context Menu
Rotate Mode
Connector
ウィザード(&W)
Add Command
Built-in Menus
System
 
メニュバーのボタンを削除する ↑ このページの最初へ
Dim myCB As CommandBar
Dim myCBCtrl As CommandBarControl

Set myCB = CommandBars("Worksheet Menu Bar")
For Each myCBCtrl In myCB.Controls
myCBCtrl.Delete
Next myCBCtrl

'メニューバーを初期状態に戻す
MenuBars(xlWorksheet).Reset
End Sub
 
新しいメニュー バーをアプリケーションに追加する ↑ このページの最初へ
新しいメニュー バーをアプリケーションに追加するには、Add メソッドを使います。
次の使用例は、新しいメニュー バーを追加し、それをアクティブにします。

With MenuBars.Add("株価市況")
With .Menus.Add("ファイル")
.MenuItems.Add "更新", "UpdateProc"
.MenuItems.Add "印刷", "PrintProc"
End With
End With
MenuBars("株価市況").Activate
 
新しいメニューアイテムをメニュー バーに追加する ↑ このページの最初へ
[Visual Basic モジュール] メニュー バーに、新しいメニューアイテムを追加します。

MenuBars(xlModule).Menus.Add Caption:="詳細ヘルプ(&M)"


定数名 説明

xlWorksheet ワークシート、マクロ シート、ダイアログ シート
xlChart グラフ
xlModule Visual Basic モジュール
xlNoDocuments ファイルが開かれていない状態
xlInfo 情報ウィンドウ
xlWorksheetShort ショート ワークシート メニュー (Word 3.1 互換)
xlChartShort ショート グラフ メニュー (Word 3.1 互換)
xlWorksheet4 旧ワークシート メニュー バー (Word 4.0 互換)
xlChart4 旧グラフ メニュー バー (Word 4.0 互換)
 
メニュバー名およびメニュ名を取得する ↑ このページの最初へ
Worksheets("sheet1").Activate
For col = 1 To MenuBars.Count
Cells(1, col) = MenuBars(col).Caption
For rw = 2 To MenuBars(col).Menus.Count + 1
Cells(rw, col) = MenuBars(col).Menus(rw - 1).Caption
Next
Next
 
新しいツールバー・ツールボタンを追加する ↑ このページの最初へ
[標準] ツールバーの先頭に新しいツールバー ボタンを追加し、
このボタンに myNewButtonMacro というマクロを登録します。

Set newButton = Toolbars("標準").ToolbarButtons.Add _
(Button:=210, Before:=1)
newButton.OnAction = "myNewButtonMacro"

次の使用例は、すべてのツールバーをそれぞれの既定の状態に戻します。

For Each tb In Application.Toolbars
tb.Reset
Next tb
 
ツールバー名およびツールバーボタン名を取得する ↑ このページの最初へ
Worksheets("sheet1").Activate
For col = 1 To Toolbars.Count
Cells(1, col) = Toolbars(col).Name
For rw = 2 To Toolbars(col).ToolbarButtons.Count + 1
Cells(rw, col) = Toolbars(col).ToolbarButtons(rw - 1).Name
Next
Next
 
ツールバーを非表示にする ↑ このページの最初へ
Toolbars(1).Visible = False
Toolbars(2).Visible = False
With Application
.ShowToolTips = False
.LargeButtons = False
.ColorButtons = False
End With

'ツールバーを初期状態に戻す
Toolbars(1).Visible = True
Toolbars(2).Visible = True
With Application
.ShowToolTips = True
.LargeButtons = False
.ColorButtons = True
End With
 
すべてのツールバーを非表示にする ↑ このページの最初へ
Sub すべてのツールバーを非表示にする()
Dim col As Integer
Worksheets("sheet1").Activate
For col = 1 To Toolbars.Count
Cells(col, 2) = ""
If Toolbars(col).Visible = True Then
Toolbars(col).Visible = False
Cells(col, 2) = "True" '状態保存
End If
Next
End Sub

Sub ツールバーの表示を元に戻す()
Dim col As Integer
Worksheets("sheet1").Activate
For col = 1 To Toolbars.Count
If Cells(col, 2) = "True" Then
Toolbars(col).Visible = True '状態復帰
End If
Next
End Sub

参考(ツールバーの構造)
ツールバー
ツールバーボタン
 
すべてのコマンドバーを非表示にする ↑ このページの最初へ
Dim myCB As CommandBar

'エラーが発生しても処理を続行する
On Error Resume Next

For Each myCB In CommandBars
myCB.Visible = False
Next myCB

'エラーのトラップを無効にする
On Error GoTo 0

'このバーだけは例外でEnabledでセットする
CommandBars("Worksheet Menu Bar").Enabled = False

注意事項
元にもどす場合、
  myCB.Visible = False を すべて True にして元にもどすと
  すべてのバーが表示されてしまう
ステータスバーにメッセージを表示する ↑ このページの最初へ
Application.DisplayStatusBar = True
Application.StatusBar = "処理 50% 終了しました"

'ステータスバーを表示しない
Application.DisplayStatusBar = False
 
次のボタンをFocusする ↑ このページの最初へ
Application.SendKeys ("{TAB}")

*ワークシート上のボタンにはFocusはない
 
SendKeys メソッドを使って 項目のtab移動をする ↑ このページの最初へ
SendKeys {TAB},true
 
ダイアログボックスをInputBox関数で表示する ↑ このページの最初へ
Sub MsgInput()

  Dim myNo As Integer
  Dim myMsg As String, myTitle As String

  myMsg = "メッセージ番号を指定してください"
  myTitle = "データ削除"

  myNo = Val(InputBox(Prompt:=myMsg, Title:=myTitle))

  If myNo <> 0 Then
    MsgBox myNo & "を削除します"
  Else
    MsgBox "削除処理はキャンセルされました"
  End If

End Sub
 
メッセージボックスを表示する ↑ このページの最初へ
MsgBox "日付が入力されていません。" & Chr(13) & Chr(10) & _
  "記録がない場合は、" & Date & "を入力して下さい。"


If MsgBox("ファイル更新しますか?", vbYesNo) = vbYes Then
  MsgBox "日付が入力されていません。
End If
 
メッセージボックスのメッセージを途中で改行する ↑ このページの最初へ
Sub メッセージボックスのメッセージを途中で改行する()
msgText = "現在のフォルダ:" & Chr(13) & CurDir()
MsgBox msgText
End Sub

Sub Dialog1 のリスト ボックス 1 の選択項目を、英字の A から Z に設定する()
For i = 65 To 90
DialogSheets("Dialog1").ListBoxes(1).AddItem Text:=Chr(i)
Next i
End Sub

Chr(9) タブ
Chr(10) ライン フィード文字
Chr(13) キャリッジ リターン
 
シート上のテキストボックスの表示位置を移動する ↑ このページの最初へ
ActiveSheet.DrawingObjects("テキスト 4").Select
Selection.Left = 109.5
Selection.Top = 33

位置の単位は、ポイント (1 ポイントは、1/72 インチ、0.35 mm)

↑ このページの最初へ

   ご意見・ご感想をお寄せください。 ‖ お問い合わせはこちらから ‖ このサイトについて           サイトマップ  ‖
  Copyright 2006 - 2013 uTRAM Corp. All Rights Reserved
 
PHARCIS(ヘルスケア最新情報提供)
Facebook for PHARCIS
ClinMark8
アクセスランキング
(2013年5月)

1位 企業ニュース
2位 売上ランキング
3位 メディアニュース
4位 製薬会社
5位 治療薬の最前線
6位 決算短信一覧
7位 データブック
8位 製薬会社研究
9位 イベントカレンダ
10位 パイプラインニュース