EXCELのフォームを前面に表示させる
Posted: 2010年12月22日(水) 18:36
C言語でなくて恐縮です。
Windows7 64Bit EXCEL2007 です。
さて、EXCELのVBAでユーザーフォームを作っているのですが・・・・
うまくいかないことがあり、知恵を貸してください。
アンケート用のEXCELシートを作っています。なるべく、自動で集計できるようにしたいので、VBAの勉強を兼ねて作っています。
EXCELはマクロが含まれていると、立ち上げたときに、セキュリティの警告がでるので、これは使う人に親切ではありません。
また、パソコンは複数を使いたいので、セキュリティレベルを低くしたくありません。そこで、調べてみると、スクリプトを組む方法
が見つかりましたので下のように組みました。
'***********************************************************************
'Excel起動スクリプト
Option Explicit
Dim objExcelApp, strPath
Const BookName = "アンケート.xlsm"
Set objExcelApp = CreateObject("Excel.Application")
With WScript
strPath = Replace(.ScriptFullName, .ScriptName, "")
End With
objExcelApp.Workbooks.Open strPath & BookName, False, False
objExcelApp.Visible = True
Set objExcelApp = Nothing
'***********************************************************************
このファイルをダブルクリックすれば、"アンケート.xlsm"が開き、セキュリティの警告が出なくなります。
次に、開いたときに、フォームを開きたいので、ユーザフォームを作り、VBAでThisWorkbookに
Private Sub Workbook_Open()
Me.Activate
Sheets("Sheet1").Activate
StartForm.Show
End Sub
としました。さて、スクリプトファイルをダブルクリックすると、フォームが開くのですが、残念ながら、
ファイル一覧のエクスプローラーの裏に隠れてしまい、前面に出てきません。
Activeにしたり、いろいろ試したのですが、どうしてもうまくいきません。
方法があるのでしたら教えてください。
なお、確認しやすいように、2つのファイルを添付します。
フォームのボタン等は動作しませんので、閉じるボタンで閉じてください。
Windows7 64Bit EXCEL2007 です。
さて、EXCELのVBAでユーザーフォームを作っているのですが・・・・
うまくいかないことがあり、知恵を貸してください。
アンケート用のEXCELシートを作っています。なるべく、自動で集計できるようにしたいので、VBAの勉強を兼ねて作っています。
EXCELはマクロが含まれていると、立ち上げたときに、セキュリティの警告がでるので、これは使う人に親切ではありません。
また、パソコンは複数を使いたいので、セキュリティレベルを低くしたくありません。そこで、調べてみると、スクリプトを組む方法
が見つかりましたので下のように組みました。
'***********************************************************************
'Excel起動スクリプト
Option Explicit
Dim objExcelApp, strPath
Const BookName = "アンケート.xlsm"
Set objExcelApp = CreateObject("Excel.Application")
With WScript
strPath = Replace(.ScriptFullName, .ScriptName, "")
End With
objExcelApp.Workbooks.Open strPath & BookName, False, False
objExcelApp.Visible = True
Set objExcelApp = Nothing
'***********************************************************************
このファイルをダブルクリックすれば、"アンケート.xlsm"が開き、セキュリティの警告が出なくなります。
次に、開いたときに、フォームを開きたいので、ユーザフォームを作り、VBAでThisWorkbookに
Private Sub Workbook_Open()
Me.Activate
Sheets("Sheet1").Activate
StartForm.Show
End Sub
としました。さて、スクリプトファイルをダブルクリックすると、フォームが開くのですが、残念ながら、
ファイル一覧のエクスプローラーの裏に隠れてしまい、前面に出てきません。
Activeにしたり、いろいろ試したのですが、どうしてもうまくいきません。
方法があるのでしたら教えてください。
なお、確認しやすいように、2つのファイルを添付します。
フォームのボタン等は動作しませんので、閉じるボタンで閉じてください。