「SQLログ取得.xls」のつづき。・・・メニューハンドリング
postgresのlog編集。のつづき。・・・
仕事で使っている。使いづらいところを修正した。
- いちいちマクロー>マクロー>XXXは使いづらい。ので、メニューにした。
- ”set DateStyle to 'ISO'”みたいなSQLを読み飛ばしできるようにした。
■マクロ画面のMicredoft Excel ObjectsのThisWorkbook用vba
Option Explicit '-------------------------------------------------- Private Sub Workbook_Open() メニューの登録 '--- 標準モジュールのプロシージャ End Sub '-------------------------------------------------- Private Sub Workbook_BeforeClose(Cancel As Boolean) メニューの削除 '--- 標準モジュールのプロシージャ End Sub
■メニューハンドリング用vbaなど
Option Explicit Sub メニューの登録() Dim Menu5 As Object Dim Menu4 As Object Dim Menu3 As Object Dim Menu2 As Object Dim Menu1 As Object Dim S1_Menu1 As Object 'まずメニューを追加します.--- Set Menu2 = CommandBars("Worksheet Menu bar").Controls.Add _ (Type:=msoControlButton, Temporary:=False) Menu2.BeginGroup = True Menu2.Caption = "マシン日時取得" ' --- (1) Menu2.OnAction = "マシン日時取得" Menu2.Enabled = True Menu2.Visible = True Menu2.Style = msoButtonCaption Menu2.BeginGroup = True Set Menu4 = CommandBars("Worksheet Menu bar").Controls.Add _ (Type:=msoControlButton, Temporary:=False) Menu4.Caption = "SQLログ取得" ' --- (2) Menu4.OnAction = "SQLログ取得" Menu4.Enabled = True Menu4.Visible = True Menu4.Style = msoButtonCaption Menu2.BeginGroup = True Set Menu5 = CommandBars("Worksheet Menu bar").Controls.Add _ (Type:=msoControlButton, Temporary:=False) Menu5.Caption = "SQL整形" ' --- (3) Menu5.OnAction = "SQL整形" Menu5.Enabled = True Menu5.Visible = True Menu5.Style = msoButtonCaption Menu2.BeginGroup = True Set Menu3 = CommandBars("Worksheet Menu bar").Controls.Add _ (Type:=msoControlButton, Temporary:=False) Menu3.Caption = "フォーマット" ' --- (4) Menu3.OnAction = "フォーマット" Menu3.Enabled = True Menu3.Visible = True Menu3.Style = msoButtonCaption Menu2.BeginGroup = True Set Menu1 = CommandBars("Worksheet Menu bar").Controls.Add _ (Type:=msoControlButton, Temporary:=False) Menu1.Caption = "【SQLConvertの起動】" ' --- (5) Menu1.OnAction = "SQLConvert_start" Menu1.Enabled = True Menu1.Visible = True Menu1.Style = msoButtonCaption 'SQLConvertを起動する Call SQLConvert_start End Sub '-------------------------------------------------- Sub メニューの削除() On Error Resume Next '--- エラーが出たらその行は飛ばす。 CommandBars("Worksheet Menu bar").Controls("マシン日時取得").Delete ' --- (1) CommandBars("Worksheet Menu bar").Controls("SQLログ取得").Delete ' --- (2) CommandBars("Worksheet Menu bar").Controls("SQL整形").Delete ' --- (3) CommandBars("Worksheet Menu bar").Controls("フォーマット").Delete ' --- (4) CommandBars("Worksheet Menu bar").Controls("【SQLConvertの起動】").Delete ' --- (5) 'SQLConvertを終了する Call SQLConvert_end End Sub Sub フォーマット() Dim rowIdx Dim colIdx rowIdx = ActiveCell.Row colIdx = ActiveCell.Column ActiveWindow.Zoom = 75 Range("B2").Select Columns("A:A").ColumnWidth = 6# Columns("B:I").Select Selection.ColumnWidth = 18.5 Cells(rowIdx, 1).Activate ' 次の項目をアクティブにする Cells(rowIdx, colIdx).Activate ' 次の項目をアクティブにする End Sub
使い方やツールのダウンロードはhttp://d.hatena.ne.jp/kazpgm/20100130/1264876192。
2010/02/04 20:30-24:30
2010/02/07 21:30-21:40 SQLConvert.exeを常駐させた(【SQLConvertの起動】を追加した)