石鹸箱 IV

VBA研究所に集まる方々の憩いの場です。みなさん自由にお使いください。
ここでは VBA の質問は厳禁。

4836 / 5126 ツリー ←次へ | 前へ→

【2275】ThisworkbookモジュールとWindowオブジェクトの問題 Jaka 08/7/18(金) 12:48
【2276】Re:ThisworkbookモジュールとWindowオブジェ... ichinose 08/7/22(火) 8:05
【2277】Re:ThisworkbookモジュールとWindowオブジェ... Jaka 08/7/22(火) 16:32

【2275】ThisworkbookモジュールとWindowオブジェ...
 Jaka  - 08/7/18(金) 12:48 -

引用なし
パスワード
   ここに書いちゃったらまずいかな?
でも、問題だし。


○問題

ブックの非表示、表示操作を個人用マクロブックにマクロ記録しました。
(PERSONAL.xlsが無くてもコードを記載したブックを開く前に別のブックが開いてあれば可)
               
Sub Macro1()
  ActiveWindow.Visible = False
  Windows("Book1").Visible = True
End Sub


上記コードを応用して、下記2つのコードを書きました。
でも、エラーになっちゃいます。
ねんで、なんで〜。
ってな問題です。

尚、標準モジュールに書いてるから、ってな事ではないです。
ちゃんとThisworkBookモジュールに書いたとして。


1、

Private Sub Workbook_Open()
Dim i As Long, Wb As Workbook
With ThisWorkbook.Sheets("Sheet1")
  For Each Wb In Workbooks
    i = i + 1
    .Cells(i, 1).Value = Workbooks(i).Name
    .Cells(i, 2).Value = Windows(Wb.Name).Caption
    .Cells(i, 3).Value = Windows(Wb.Name).Visible
  Next
End With
End Sub

2、

Private Sub Workbook_Open()
Dim i As Long
With ThisWorkbook.Sheets("Sheet1")
  For i = 1 To Workbooks.Count
    .Cells(i, 1).Value = Workbooks(i).Name
    .Cells(i, 2).Value = Windows(i).Caption
    .Cells(i, 3).Value = Windows(i).Visible
  Next
End With
End Sub

【2276】Re:ThisworkbookモジュールとWindowオブジ...
 ichinose  - 08/7/22(火) 8:05 -

引用なし
パスワード
   ▼Jaka さん、おはようございます。

もう一日休みたい・・・、まだ、仕事したくねえ〜・・・。

>
>○問題

>上記コードを応用して、下記2つのコードを書きました。
>でも、エラーになっちゃいます。
>ねんで、なんで〜。
>ってな問題です。
>
>尚、標準モジュールに書いてるから、ってな事ではないです。
>ちゃんとThisworkBookモジュールに書いたとして。

これ、標準モジュールなら正常に作動しませんか?


>
>
>1、
>
>Private Sub Workbook_Open()
>Dim i As Long, Wb As Workbook
>With ThisWorkbook.Sheets("Sheet1")
>  For Each Wb In Workbooks
>    i = i + 1
>    .Cells(i, 1).Value = Workbooks(i).Name
    .Cells(i, 2).Value = application.Windows(Wb.Name).Caption
    .Cells(i, 3).Value = application.Windows(Wb.Name).Visible
>  Next
>End With
>End Sub

とすれば、作動しますけどねえ。何か、私が意味を取り違えていますか?

【2277】Re:ThisworkbookモジュールとWindowオブジ...
 Jaka  - 08/7/22(火) 16:32 -

引用なし
パスワード
   うっ、全部当たりだ...。

間単に即答されるとは思ってもいなかった。
私は結構悩んだのに....。

>尚、標準モジュールに書いてるから、ってな事ではないです。
>ちゃんとThisworkBookモジュールに書いたとして。
これは、
Private Sub Workbook_Open()
を標準モジュールに書いたからじゃないですか。ってのを避けるため。

4836 / 5126 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
219927
(SS)C-BOARD v3.8 is Free