Sub Window1()
Dim wi As Window
Set wi = ActiveWorkbook.NewWindow
MsgBox wi.Caption, vbOKOnly, wi.WindowNumber
End Sub
これにより、ワークブックの Window を多重に開くことができます。
Sub Window2()
Dim wi As Window
ActiveWindow.NewWindow
End Sub
Sub Window3()
Dim wi As Window
For Each wi In ActiveWindow.Parent.Windows
If wi.Parent.Windows.Count = 1 Then Exit For
wi.Close
Next wi
End Sub
Sub Window3B()
Dim wb As Workbook
Set wb = ActiveWindow.Parent
Do Until wb.Windows.Count = 1
wb.Windows(2).Close
Loop
End Sub
Sub Window4()
Dim wb As Workbook
For Each wb In Workbooks
Do Until wb.Windows.Count = 1
wb.Windows(2).Close
Loop
Next wb
End Sub
Sub Window5()
Dim wi As Window
For Each wi In Windows
wi.Activate
Application.Wait Now() + 1 / 24 / 3600
Next wi
End Sub
Sub Window5B()
Dim oldWin As String
Dim newWin As String
oldWin = ActiveWindow.Caption
Do
ActiveWindow.ActivateNext
Application.Wait Now() + 1 / 24 / 3600
newWin = ActiveWindow.Caption
Loop Until oldWin = newWin
End Sub
Sub Window5C()
Dim oldWin As String
Dim newWin As String
oldWin = ActiveWindow.Caption
Do
ActiveWindow.ActivatePrevious
Application.Wait Now() + 1 / 24 / 3600
newWin = ActiveWindow.Caption
Loop Until oldWin = newWin
End Sub
Sub Window6()
Windows.Arrange ArrangeStyle:=xlArrangeStyleTiled
End Sub
Sub Window7()
ActiveWindow.WindowState = xlMaximized
End Sub
Sub Window8()
With ActiveWindow
.DisplayFormulas = Not .DisplayFormulas
.DisplayGridlines = Not .DisplayGridlines
.DisplayHeadings = Not .DisplayHeadings
.DisplayHorizontalScrollBar = Not .DisplayHorizontalScrollBar
.DisplayOutline = Not .DisplayOutline
.DisplayVerticalScrollBar = Not .DisplayVerticalScrollBar
.DisplayWorkbookTabs = Not .DisplayWorkbookTabs
.DisplayZeros = Not .DisplayZeros
.EnableResize = Not .EnableResize
End With
End Sub
Sub Window9()
Static wiCap As String
If wiCap = "" Then
wiCap = ActiveWindow.Caption
Windows(wiCap).Visible = False
Else
Windows(wiCap).Visible = True
wiCap = ""
End If
End Sub
Sub Window10()
With ActiveWindow
.Zoom = 150 - .Zoom
MsgBox "現在の倍率" & .Zoom & "%では、" &
.VisibleRange.Address & "が見えています。"
End With
End Sub
| 用例 | 解説 |
|---|---|
| ActiveWindow | Active になっている Window を特定する。 |
| Windows(1) | Window Collection の item 順位を利用する。1から始まる連番を指定する。 |
| Windows.Item(1) | Windows Collection の item 順位を利用する。上の方法の丁寧な表現。*1 *2 *3 |
| Windows("Book3.xls:2") | Windows Collection に対して、Window Object の Caption プロパティを与える。 |
| ThisWrokbook.Windows(1) | 特定の Workbook Object に属する Windows Collection の item 順位を利用する。1から始まる連番を指定する。 |
ActiveWindow.Parent上の表現は、ActiveWorkbook と同じものを返します。