Excelノート 14-02 マクロ

HOME  検索  索引  もくじ  関数目次  前ページへ  次ページへ

タイトル欄のアドレスは、エクセルファンクラブの該当する頁へのリンク先です。
詳しい事は、こちらの
お願いをご覧になってください。

21 ワークブックのイベント 
22 ワークシートイベント 
23 ユーザーフォームのイベント
24 コントロールのイベントプロシージャ
25 Functionプロシージャ
26 Workbook_Open と AutoOpen の違いは?
27 Workbook_Open で実行されないメソッドおよびプロパティ(Excel97対象。2000で修正)
28 マクロのコードを保護するには?
29 右クリックのショートカットメニューにサブメニューを持つメニューを追加するには?
30 マクロの記録で記録終了・相対参照のボタンを表示させるには?
31 マクロの処理中に 「処理中です」 をステータスバーに表示するには?
32 VBA(マクロ)のコードで関数を使用するには?
33 マクロで Visuaru Basec Editor を表示するには?
34 Excel2000で設定したVBEの保護を、Excel97で解除するには?
35 Do Loop のコード例
36 Select Case のコード例
37 モジュールの中身を検索して、特定の文字列の有無を知るには?
38 トラップできるエラー
39 コンピューター名を取得するには?
40 ログイン中のユーザー名を取得するには?

21

ワークブックのイベント
http://www.keep-on.com/~excelyou/2000lng4/200008/00080377.txt
  「イベントプロシージャについて」 【VBAラウンジ】
Workbook_Activate ブックがアクティブになった時に発生
Workbook_AddinInstall ブックがアドインとして組み込まれたときに発生
Workbook_AddinUninstall ブックのアドインとして組み込みを解除したときに発生
Workbook_BeforeClose ブックを閉じる前に発生
Workbook_BeforePrint ブックを印刷する前に発生
Workbook_BeforeSave ブックを保存する前に発生
Workbook_Deactivate ブックが非アクティブになった時に発生
Workbook_NewSheet 新しいシートをブックに作成したときに発生
Workbook_Open ブックを開く前(別ブックからマクロで開いた場合も発生)
Workbook_SheetActivate いずれかのシートがアクティブになったときに発生
Workbook_SheetBeforeDoubleClick 既定のダブルクリックの操作の前に、
いずれかのシートをダブルクリックしたときに発生
Workbook_SheetBeforeRightClick 既定の右クリックの操作の前に、いずれかのシートを右クリックしたときに発生
Workbook_SheetCalculate いずれかのシートを再計算した後に発生
Workbook_SheetChange いずれかのシートのセルが変更されるときに発生
Workbook_SheetDeactivate いずれかのシートが非アクティブになったときに発生
Workbook_SheetFollowHyperlink いずれかシートのハイパーリンクをクリックすると発生
Workbook_SheetSelectionChange いずれかのシートで選択範囲を変更したときに発生
Workbook_WindowActivate ウインドウがアクティブになった時に発生
Workbook_WindowDeactivate ウインドウが非アクティブになった時に発生
Workbook_WindowResize ウインドウのサイズを変更した時に発生
22 ワークシートのイベント
http://www.keep-on.com/~excelyou/2000lng4/200008/00080377.txt
  「イベントプロシージャについて」 【VBAラウンジ】
Worksheet_Activate 指定のシートがアクティブになった時
Worksheet_BeforeDoubleClick 指定のシート(のセル)をダブルクリックする前
Worksheet_BeforeRightClick 指定のシート(のセル)を右クリックする前
Worksheet_Calculate 指定のシート(のセル)の再計算時に発生します
Worksheet_Change 指定のシート(のセル)を変更した時(入力・削除など)
Worksheet_Deactivate 指定のシートが非アクティブになった時
Worksheet_FollowHyperlink 指定のシート上のハイパーリンク先へ移動する時
Worksheet_SelectionChange 選択範囲(Selection)が変更した時(Change)マウス・矢印キー、
マクロでの移動を行っても発生します。
上記のコードのあとに (ByVal Target As Range, Cancel As Boolean) が付くものがあります。
Cancel As Booleanは、Cancel を True に設定すると、本来のイベント(セルの編集モードなど)が
キャンセルされます。
Cancel = True
ByVal Target As Rangeは、その動作(ダブルクリック等)によってセル( Range オブジェクト)が
Target に Set されます
23 ユーザーフォームのイベント
http://www.keep-on.com/~excelyou/2000lng4/200008/00080377.txt
  「イベントプロシージャについて」 【VBAラウンジ】
UserForm_Activate() ユーザーフォームがアクティブになった時に発生
UserForm_AddControl マクロ実行時にコントロールを追加すると発生
UserForm_BeforeDragOver ドラッグ アンド ドロップ操作の実行中に発生
UserForm_BeforeDropOrPaste データをオブジェクトにドロップ、または貼り付けの際発生
UserForm_Click ユーザーフォームをクリックした時
UserForm_DblClick ユーザーフォームをダブルクリックをした時
UserForm_Deactivate ユーザーフォームが非アクティブになった時
UserForm_Error エラーが検出され、呼び出し元のプログラムにエラー情報を返せない時に発生
UserForm_Initialize オブジェクトが読み込まれたあとで、それが表示される前に発生
UserForm_KeyDown キーボードを押すと発生    (実行順序1)
UserForm_KeyPress キーボードを押した時発生 (実行順序2)
UserForm_KeyUp キーボードを離すと発生    (実行順序3)
UserForm_Layout サイズを変更すると発生
UserForm_MouseDown マウス ボタンを押したとき発生
UserForm_MouseMove マウス ポインタを動かすと発生
UserForm_MouseUp マウス ボタンを離したときに発生
UserForm_QueryClose ユーザー フォームが閉じる前に発生
UserForm_RemoveControl ユーザーフォームを削除すると発生
UserForm_Resize ユーザー フォームのサイズが変更されたときに発生
UserForm_Scroll スクロール バー上のスクロール ボックスを動かすと発生
UserForm_Terminate ユーザーフォームがアンロードされたあとに発生
UserForm_Zoom 表示サイズを変更すると発生
24 コントロール(userform)のイベントプロシージャ
http://www.keep-on.com/~excelyou/2000lng4/200008/00080377.txt
  「イベントプロシージャについて」 【VBAラウンジ】
AfterUpdate ユーザーの操作によって、コントロールのデータを変更した後に発生
BeforeDragOver ドラッグ アンド ドロップ操作の実行中に発生
BeforeDropOrPaste データをオブジェクトにドロップ、または貼り付けの際発生
BeforeUpdate コントロールのデータが変更される前に発生
Change Value プロパティを変更したときに発生
Click コントロールをクリックした時
DblClick コントロールをダブルクリックした時
DropButtonClick 選択項目のリストをドロップダウンで表示、または非表示にすると発生
Enter 別のコントロールからフォーカスを受け取る前に発生
Error エラーが検出され、呼び出し元のプログラムにエラー情報を返せない時に発生
Exit 別のコントロールにフォーカスを移す直前に発生
KeyDown キーボードを押すと発生 実行順序1
KeyPress キーボードを押した時発生 実行順序2
KeyUp キーボードを離すと発生 実行順序3
Layout 対象のコントロールのサイズを変更すると発生
MouseDown マウス ボタンを押したとき発生
MouseMove マウス ポインタを動かすと発生
MouseUp マウス ボタンを離したときに発生
RemoveControl フォームからコントロールを削除すると発生
Scroll スクロール バー上のスクロール ボックスを動かすと発生
SpinDown 下向きまたは左向きのスピンボタン矢印をクリックすると発生
SpinUp 上向きまたは右向きのスピンボタン矢印をクリックすると発生
Zoom 表示サイズを変更すると発生
注意: 上記のイベントは、全てのコントロールで使えるわけではありません。
25 Functionプロシージャ
Function は値を返すプロシージャです、ワークシート関数みたいな感じ。
プロシージャ内で Function 名そのものに戻り値を設定します。
 '実行すると、200と表示されます。 (10 * 20)
 Sub CallFunc()
  Dim i As Integer
  i = FuncTest(10, 20)
  MsgBox i
 End Sub
 Function FuncTest(ByVal x As Integer, ByVal y As Integer) As Integer
  FuncTest = x * y
 End Function
'*************************************************
 '実行すると、未成年です と表示されます。
 Sub Functtest()
  Dim Ret As String
  Ret = Func1(19)
  MsgBox Ret
 End Sub

 Function Func1(ByVal Age As Integer) As String
  If Age < 20 Then
  Func1 = "未成年です"
  Else
  Func1 = "成人です"
  End If
 End Function
  このコードの使い方は、マクロの使い方(1)標準モジュールにあります。
26 Workbook_Open と AutoOpen の違いは?
http://www.ae.wakwak.com/~efc21/cgi-bin/wwwlng.cgi?print+200107/01070158.txt
  「AUTO_OPENとWorkbook_Openの違いについて?」 【VBAラウンジ】
http://cgi.fuji.ne.jp/~fj2094/cgi-bin1/wwwlng.cgi?print+200102/01020105.txt
  「あるセルだけ数値を半角入力しても全角で表示するには?」 【編集ラウンジ】
(1)Workbook_Open
  Private Sub Workbook_Open()
   MsgBox "Workbook_Open"
  End Sub
(2)Auto_Open
  Sub Auto_Open()
   MsgBox "Auto_Open"
  End Sub

※ (1)と(2)は、このマクロのあるファイルを直接開くと、先に(1)が実行され、次に(2)が実行されます。
※ このファイルを、他のブックで以下のマクロを使って開くと、(1)だけ実行され、(2)は実行されません。
    Sub test()
       Workbooks.Open "Test.xls"
      '←Workbook_Open と OutoOpenのマクロが入ったファイル名
    End Sub  

※ 他のファイルからマクロで開くときに Auto_Open を実行する場合は RunAutoMacros を使います。
   以下のコードでは、Workbook_Open 、 OutoOpen の両方が実行されます。
    Sub test()
       Workbooks.Open "Test.xls"
       Workbooks("Test.xls").RunAutoMacros xlAutoOpen
    End Sub
※ 
また、他のファイルからマクロで開く時、EnableEvents = False でイベントの発生をキャンセルすると、
   Open イベントが発生せずイベントプロシージャも実行されませんのでWorkbook_Open は実行されません。
      注) この状態のままでは他のすべてのイベントも発生しないので、マクロの中で元に戻しておきます。
          (EnableEvents = True)
   以下のマクロでは、 Auto_Open だけが実行され、Workbook_Open は実行されません。
    Sub test()
       On Error Resume Next
       Application.EnableEvents = False
       Workbooks.Open "Test.xls"
       Workbooks("Test.xls").RunAutoMacros xlAutoOpen
       Application.EnableEvents = True
    End Sub
これらのコードの使い方は、マクロの使い方(1)標準モジュールにあります。

27 Workbook_Open で実行されないメソッドおよびプロパティ(Excel97対象。2000で修正)
http://www.ae.wakwak.com/~efc21/cgi-bin/wwwlng.cgi?print+200107/01070158.txt
  「AUTO_OPENとWorkbook_Openの違いについて?」 【VBAラウンジ】
以下の Workbook_Open は、他のファイルからマクロで開いた時、実行されない場合があります。
その場合 Outo_Open を使って実行します。
 
[XL97]Open イベントで実行されないメソッドおよびプロパティ
  Private Sub Workbook_Open()
   Range("B20").Select
  End Sub
  Private Sub Workbook_Open()
   Sheet2.Activate
  End Sub
  このコードの使い方は、マクロの使い方(1)標準モジュールにあります。
28 マクロのコードを保護するには?
http://www.ae.wakwak.com/~efc21/cgi-bin/wwwlng.cgi?print+200107/01070099.txt
  「コードを保護するには?」 【VBAラウンジ】
Excel97、Excel2000、Excel2002確認済み
VBE のメニューで、【ツール】【VBAprojectのプロパティ】【保護】で、パスワードを入れてロックします。
29 右クリックのショートカットメニューにサブメニューを持つメニューを追加するには?
http://www.ae.wakwak.com/~efc21/cgi-bin/wwwlng.cgi?print+200108/01080077.txt
  「右クリックのショートカットメニューにマクロを登録するには?
   (サブメニューを持つコントロールボタンで登録)」 【VBAラウンジ】
Excel2002確認済み
【値の貼り付け】【書式の貼り付け】【数式の貼り付け】【罫線を除く全て貼り付け】【ハイパーリンクの貼り付け】
をサブメニューに持つ【貼付】メニューを追加します。
 Sub myPaste()
  Dim myPopCtrl As CommandBarPopup
  Set myPopCtrl = Application.CommandBars("Cell").Controls.Add _
  (Type:=msoControlPopup, Temporary:=True)
  With myPopCtrl
   .Caption = "貼付"
   .BeginGroup = True '区切り線の表示
   .Controls.Add(Type:=msoControlButton, ID:=370, _
   Temporary:=True).Caption = "値の貼り付け"
   .Controls.Add(Type:=msoControlButton, ID:=369, _
   Temporary:=True).Caption = "書式の貼り付け"
   With .Controls.Add(Type:=msoControlButton, ID:=2950, Temporary:=True)
    .Caption = "数式の貼り付け"
    .FaceId = 1
    .OnAction = "コピーして数式を貼り付ける"
   End With
   With .Controls.Add(Type:=msoControlButton, ID:=2950, Temporary:=True)
    .Caption = "罫線を除く全て貼り付け"
    .FaceId = 1
    .OnAction = "コピーして罫線を除くすべてを貼り付ける"
   End With
   .Controls.Add(Type:=msoControlButton, ID:=2787, _
   Temporary:=True).Caption = "ハイパーリンクの貼り付け"
  End With
  Set myPopCtrl = Nothing
 End Sub
  このコードの使い方は、マクロの使い方(1)標準モジュールにあります。

上記で登録した右クリックメニューを、既定値に戻します。
 Sub 規定値に戻す()
  Application.CommandBars("Cell").Reset
 End Sub
  このコードの使い方は、マクロの使い方(1)標準モジュールにあります。
30 マクロの記録で記録終了・相対参照のボタンを表示させるには?
http://cgi.fuji.ne.jp/~fj2094/cgi-bin5/wwwlng.cgi?print+200108/01080074.txt
 「マクロの記録で[相対参照]ボタンを表示させるには?」 【VBAラウンジ】
Excel97、Excel2000、Excel2002共通
 1.メニュー[ツール]-[マクロ]-[新しいマクロの記録]
 2.[OK]ボタンをクリック
 3.メニューバー/ツールバー上のどこかで右クリック
 4.[記録終了]をクリック
Excel97、Excel2000、Excel2002共通
【ツール】【ユーザー設定】【ツールバー】で、【記録終了】にチェックを入れます。
31 マクロの処理中に 「処理中です」 をステータスバーに表示するには?
http://www.ae.wakwak.com/~efc21/cgi-bin/wwwlng.cgi?print+200112/01120025.txt
 マクロ作業内容を画面表示させない方法は無いでしょうか」 【VBAラウンジ】
Sub test()
 Application.StatusBar = "処理中です。しばらくお待ち下さい"
 Application.ScreenUpdating = False
  ' 処 理
 Application.ScreenUpdating = True
 Application.StatusBar = ""
End Sub
  このコードの使い方は、マクロの使い方(1)標準モジュールにあります。
32 VBA(マクロ)のコードで関数を使用するには?
Sub Macro2()     'A1〜B9の合計をB10に表示
 Range("B10").FormulaR1C1 = "=SUM(R[-9]C[-1]:R[-1]C[-0])"            
'=SUM(A1:B9)
 Range("B10").FormulaR1C1 = "=SUM(R1C1:R9C2)"                  
'=SUM($A$1:$B$9)
 Range("B10").Formula = "=SUM(A1:B9)"                        
'=SUM(A1:B9)
 Range("B10").Value = WorksheetFunction.Sum(Range(Cells(1, 1), Cells(9, 2)))   
'計算後の数値が直接入力される
 Range("B10").Value = WorksheetFunction.Sum(Range("A1:B9"))          
'計算後の数値が直接入力される
End Sub
  このコードの使い方は、マクロの使い方(1)標準モジュールにあります。

※ その他の書き方例
  Range(retu19 & i).Value = WorksheetFunction.Max(WS1.Range(i & ":" & i))
'最高
  Range(retu20 & i).Value = WorksheetFunction.Min(WS1.Range(i & ":" & i))
'最低
  If Range(retu19 & i).Value > 0 Then _
       Range(retu21 & i).Value = WorksheetFunction.Sum _
       (WS1.Range("2:2")) / WorksheetFunction.Count(WS1.Range(i & ":" & i))
'平均

  Cells(i, 17).Value = WorksheetFunction.VLookup(Range("O" & i), Range("B:D"), 3, True)                                          '計算後の数値
 Range(retu17 & Target.Row).Value = _
    WorksheetFunction.CountIf(Range(retu3 & Target.Row & ":" & retu3 & 9652), _
    Range(retu3 & Target.Row))

33 マクロで Visuaru Basec Editor を表示するには?
http://www.ae.wakwak.com/~efc21/cgi-bin/wwwlng.cgi?print+200207/02070523.txt 
 「ビジュアルベーシックエディターを起動するコードはどの様に書くのでしょうか」【VBAラウンジ】
Sub test()
 Application.VBE.MainWindow.Visible = True
 ThisWorkbook.VBProject.VBComponents("Module1").Activate
End Sub
  このコードの使い方は、マクロの使い方(1)標準モジュールにあります。
34 Excel2000で設定したVBEの保護を、Excel97で解除するには?
http://www.ae.wakwak.com/~efc21/cgi-bin/wwwlng.cgi?print+200104/01040310.txt 
 「プロジェクトの保護の解除方法?」 【VBAラウンジ】
残念ながらできません。Excel97で保護すれば両方から解除できます。
35 Do Loop のコード例
http://www.ae.wakwak.com/~efc21/cgi-bin/wwwlng.cgi?print+200012/00120078.txt 
http://www.ae.wakwak.com/~efc21/cgi-bin/wwwlng.cgi?print+200012/00120029.txt 
http://www.ae.wakwak.com/~efc21/cgi-bin/wwwlng.cgi?print+200012/00120024.txt 
Do While Not EOF(FNum)
 ReDim Preserve strData(i)
 Line Input #FNum, strData(i)
 i = i + 1
Loop
Do While geta <> ""
 Cells.FindNext(After:=ActiveCell).Activate
 ActiveSheet.Pictures.Insert(geta).Select
 geta = Dir
Loop
Do
 x = InStr(x + 1, s, vbLf)
 If x <> 0 Then iPos = x
Loop Until x = 0
36 Select Case のコード例
http://www.ae.wakwak.com/~efc21/cgi-bin/wwwlng.cgi?print+200101/01010188.txt 
http://www.ae.wakwak.com/~efc21/cgi-bin/wwwlng.cgi?print+200008/00080316.txt 
http://www.ae.wakwak.com/~efc21/cgi-bin/wwwlng.cgi?print+200009/00090090.txt 
一般的に、条件が3つ以上になるとSelect文の方が処理が速いです。 条件が3つ以上というのは、
Select case A
 case 1
 case 2
 case else
end select
Select Case i
 Case 1 : ○○
 Case 2 To 5 : △△
 Case 6 , 7 : ××
 Case Else
End Select
Select Case Cells(tate12, 1).Value
  Case 5047, 5055  
 '5047 か 5055
  Case Else      
 'それ以外
End Select
Select Case Cells(i, 1).Value
 Case 5047, 5055, 5049, 5069, 5191, 5011, 5051, 5055, 7089, 3036, 5052
 Rows(i & ":" & i).Select
 Selection.Delete Shift:=xlUp
End Select
37 モジュールの中身を検索して、特定の文字列の有無を知るには?
http://www.ae.wakwak.com/~efc21/cgi-bin/wwwlng.cgi?print+200205/02050232.txt 
  「モジュールの中身を検索して、特定の文字列の有無を知るには?」 【VBAラウンジ】
あらかじめVBEの画面で、【ツール】【参照設定】で【Microsoft Visual Basic for Applications Extensibility】に
チェックを入れておく必要があります。
Sub Macro1()
  Dim vbcTarget As VBComponent
  With Workbooks("TEST.XLS").VBProject
    For Each vbcTarget In .VBComponents
      If vbcTarget.CodeModule.Find("2002/ 5/14", 1, 1, -1, -1) Then   
’「2002/ 5/14」の文字を検索
        MsgBox vbcTarget.Name & "に見つかりました。"
      End If
    Next vbcTarget
  End With
End Sub

  このコードの使い方は、マクロの使い方(1)標準モジュールにあります。 
38 トラップできるエラー
http://www.ae.wakwak.com/~efc21/cgi-bin/wwwlng.cgi?print+200210/02100486.txt
 「
だれかが特定のファイルを開いているかどうかを調べるには? 【VBAラウンジ】

トラップできるエラーは、アプリケーションの実行中に発生します。
トラップできるエラーのいくつかは、デザイン時またはコンパイル時にも発生します。
On Error
ステートメントおよび Err オブジェクトの Number プロパティを使用して、
トラップできるエラーのテストおよびエラーへの対応を行うことができます。
エラー番号 1 〜 1000 の範囲で、使用されていない番号は、Visual Basic で予約されています。

番号

メッセージ
3 Returnに対応するGoSubがありません。
5 プロシージャの呼び出し、または引数が不正です。
6 オーバーフローしました。
7 メモリが足りません。
9 インデックスが有効範囲にありません。
10 この配列は固定されているか、または一時的にロックされています。
11 0で除算しました。
13 型が一致しません。
14 文字列領域が不足しています。
16 式が複雑すぎます。
17 要求された操作は実行できません。
18 ユーザーによる割り込みが発生しました。
20 エラーが発生していないときにResumeを実行することはできません。
28 スタック領域が不足しています。
35 Sub、Function、またはPropertyが定義されていません。
47 コードリソースまたはDLLのクライアントアプリケーションが多すぎます。
48 コードリソースまたはDLL読み込み時のエラーです。
49 コードリソースまたはDLLが正しく呼び出せません。
51 内部エラーです。
52 ファイル名または番号が不正です。
53 ファイルが見つかりません。
54 ファイルモードが不正です。
55 ファイルは既に開かれています。
57 デバイスI/Oエラーです。
58 既に同名のファイルが存在しています。
59 レコード長が一致しません。
61 ディスクの空き容量が不足しています。
62 ファイルにこれ以上データがありません。
63 レコード番号が不正です。
67 ファイルが多すぎます。
68 デバイスが準備されていません。
70 書き込みできません。
71 ディスクが準備されていません。
74 ディスク名は変更できません。
75 パス名が無効です。
76 パスが見つかりません。
91 オブジェクト変数またはWithブロック変数が設定されていません。
92 Forループが初期化されていません。
93 パターン文字列が不正です。
94 Nullの使い方が不正です。
97 オブジェクトが定義クラスのインスタンスではない場合、このオブジェクトに関するフレンド関数は呼び出せません。
98 プロパティまたはメソッドの呼び出しの場合には、引数または戻り値としてプライベートオブジェクトへの参照を含めることはできません。
298 システムリソースまたはDLLをロードできません。
320 キャラクタデバイスは使えません。
321 不正なファイル形式です。
322 必要なテンポラリファイルを作成できません。
325 リソースファイルの形式が不正です。
327 データ値が見つかりません。
328 不正なパラメータです。配列に書き込めません。
335 システムレジストリにアクセスできません。
336 コンポーネントが正しく登録されていません。
337 コンポーネントが見つかりません。
338 コンポーネントが正常に実行されませんでした。
360 このオブジェクトは既にロードされています。
361 このオブジェクトは、ロードまたはアンロードすることはできません。
363 指定されたコントロールが見つかりません。
364 既にアンロードされています。
365 現在アンロードできません。
368 ファイルは古い形式で作成されています。このプログラムには新しい形式のファイルが必要です。
371 指定されたオブジェクトは、Showメソッドのオーナーフォームとして使用できません。
380 プロパティの値が不正です。
381 プロパティ配列のインデックスが不正です。
382 プロパティは、実行時には設定できません。
383 プロパティは値の取得のみ可能です。
385 このプロパティには配列のインデックスが必要です。
387 プロパティは値を設定できません。
393 プロパティは実行時に値の取得はできません。
394 プロパティは設定のみ可能です。
400 既にフォームは表示されています。モーダルにできません。
402 一番手前(前面)のモーダルフォームを先に閉じてください。
419 オブジェクトを利用できません。
422 プロパティが見つかりません。
423 プロパティまたはメソッドが見つかりません。
424 オブジェクトが必要です。
425 オブジェクトの使い方が不正です
429 コンポーネントはオブジェクトを作成できません。
430 クラスはオートメーションをサポートしていません。
432 オートメーションの操作中にファイル名またはクラス名を見つけられませんでした。
438 オブジェクトは、このプロパティまたはメソッドをサポートしていません。
440 オートメーションエラーです。
442 リモートプロセス用のタイプライブラリまたはオブジェクトライブラリへの参照は失われました。
443 オートメーションオブジェクトには既定値がありません。
445 オブジェクトはこの動作をサポートしていません。
446 オブジェクトは名前付き引数をサポートしていません。
447 オブジェクトは現在の国別情報の設定をサポートしていません。
448 名前付き引数が見つかりません。
449 引数は省略できません。または不正なプロパティを指定しています。
450 引数の数が一致していません。または不正なプロパティを指定しています。
451 このオブジェクトがコレクションではありません。
452 序数が不正です。
453 関数は指定されたコードリソースには定義されていません。
454 コードリソースが見つかりません。
455 コードリソースのロックエラー
457 このキーは既にこのコレクションの要素に割り当てられています。
458 VisualBasicでサポートされていないオートメーションが変数で使用されています。
459 このコンポーネントでは、イベントはサポートされていません。
460 クリップボードのデータ形式が不正です。
461 メソッドまたはデータメンバが見つかりません。
462 リモートサーバーがないか、使用できる状態ではありません。
463 ローカルマシンにクラスが登録されていません。
480 AutoRedrawイメージを作成できません。
481 ピクチャが不正です。
482 プリンタエラーです。
483 プリンタドライバは指定されたプロパティをサポートしていません。
484 システムからプリンタ情報を受けるときに問題が発生しました。プリンタが正しく設定されているかを確かめてください。
485 ピクチャの形式が不正です。
486 フォームのイメージをこのプリンターで印刷することはできません。
520 クリップボードを空にできません。
521 クリップボードを開けません。
735 テンポラリファイルに保存できません。
744 検索文字列が見つかりませんでした。
746 置換後の文字列が長すぎます。
31001 メモリが不足しています。
31004 オブジェクトがありません。
31018 クラスが設定されていません。
31027 オブジェクトをアクティブにできません。
31032 埋め込みオブジェクトが作成できません。
31036 ファイルへの書き込み中にエラーが発生しました。
31037 ファイルの読み込み中にエラーが発生しました。
  
39 コンピューター名を取得するには?
http://park7.wakwak.com/~efc21/cgi-bin/wwwlng.cgi?print+200302/03020327.txt
 「使用中ファイルのユーザー名を取得するには?」 【VBAラウンジ】
Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" _
    (ByVal lpBuffer As String, nSize As Long) As Long
Public Sub コンピュータ名()
    Dim nBuffer As String * 16
    Call GetComputerName(nBuffer, Len(nBuffer))
    MsgBox Left(nBuffer, InStr(nBuffer, vbNullChar) - 1)
End Sub

  このコードの使い方は、マクロの使い方(1)標準モジュールにあります。 
40 ログイン中のユーザー名を取得するには?
http://park7.wakwak.com/~efc21/cgi-bin/wwwlng.cgi?print+200304/03040260.txt
 「XPでログインユーザー名を取得するには?」 【VBAラウンジ】
Sub test()
 MsgBox CreateObject("WScript.Network").UserName
End Sub

  このコードの使い方は、マクロの使い方(1)標準モジュールにあります。 
     

HOME  検索  索引  もくじ  関数目次  前ページへ  次ページへ

このページのTOPへ

inserted by FC2 system