- - PR -
エクセルVBAでのユーザーフォームが・・
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-01-26 17:54
いつも参考にしております。
エクセルVBAで分からないことがあるので、 ご存知の方がおられましたら、お知恵をお貸し下さい。 試したExcelのバージョンは 2002,2003です。 エクセルVBAで作ったユーザーフォームは シートの後ろに隠すことはできないのでしょうか? そのワークブックの後ろには隠せないのはまだ分かりますが、 別のワークブックを開いた場合でも必ず最前面に表示されてしまいます。 1、新しいエクセルを起動して、VisualBasicEditor を起動する 2、ユーザーフォーム(UserForm1)を挿入する 3、ThisWorkbookに下記のコードを記述して保存して終了 Private Sub Workbook_Open() UserForm1.Show vbModaless End Sub 4、今保存したエクセルファイルを起動するとモーダレスフォームが現れます。 5、別のエクセルファイルを開く。(新規作成でもOK) ここで5でに開いたエクセルよりユーザーフォームが手前に表示されてしまいます。 なんとかして、別の絵腐るファイルを開いた時は、フォームを後ろに隠せないでしょうか? 宜しくお願いします。 | ||||
|
投稿日時: 2008-01-28 01:30
すみません、自己レスです。
いろいろ調べて見ましたがなかなか実現できません。 代案作を考えてみました。 「他のエクセルファイルを同時にこのタスクに起動しない」 というものです。 具体的には3を起動している間は他のエクセルファイル(hoge.xls)を開いた場合 別のエクセルを起動し、そちらでhoge.xlsファイルを開き、 また逆に、hoge.xlsを開いている時に、3のエクセルを起動した場合、通常はhoge.xlsとおなじエクセルのタスクに起動するものを、 別のエクセルを起動し、そちらでファイルを開くという制御です。 この方法は実現できるのでしょうか・・・? 試行錯誤しているのですがなかなか出来ません。 宜しくお願いいたします。 | ||||
|
投稿日時: 2008-01-28 09:41
5 の Workbook 自体 Open できないと思うのですが、本当に 5 の Workbook は Open できていますか? それはさておき、Workbook_Open イベントで Application.IgnoreRemoteRequests = True にしておけば別プロセスで起動できると思います。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2008-01-28 14:50
じゃんぬねっと様、返信ありがとうございます。
引用:----------------------------------------------------------------------------- じゃんぬねっとさんの書き込み (2008-01-28 09:41) より: 5 の Workbook 自体 Open できないと思うのですが、本当に 5 の Workbook は Open できていますか? -------------------------------------------------------------------------------- とのご質問ですが、間違いなく同一エクセル内で二つのワークブックが表示されています。 ユーザーフォームをvbModalessでShowしないとできませんが。 そして、二つのワークブックより前面にユーザーフォームが表示されている状態です。 上部のメニューからウインドウを選択すると二つのエクセルファイルがあることも確認できました。 Application.IgnoreRemoteRequests ですね。調べてから確認してみます。 本当にありがとうございました。 |
1