プロが教えるわが家の防犯対策術!

先ほど、同じ質問タイトルで質問させていただいたものです。この場合どうなりますか?
モジュールでの変数file_nameをフォームのボタンをクリックしたら"text.xls"が表示されるようにしたいです。
(イメージとしては、エクセルのsheet1にコマンドボタンがあってクリックするとフォームが立ち上がってフォームのコマンドボタンをクリックすると"test.xls"が表示される)


モジュール
Private Sub CommandButton1_Click() ←エクセルsheet1にボタンがある
  dim file_name as string
file_name="test.xls"
  UserForm1.Show
End Sub

フォーム(UserForm1)
Sub CommandButton1_Click() ←フォームにボタンがある
MsgBox file_name
End Sub

A 回答 (3件)

●モジュール(私のテストではModule1)に下記コードを記述



Public FN As String

Sub ボタン1_Click()
FN = "D\book1.xls"
MsgBox FN
UserForm1.Show
End Sub

●フォーム(私のテストでもUserForm1)に下記コードを記述

Private Sub CommandButton1_Click()
Workbooks.Open Filename:="D:book1.xls"
End Sub

検証して動作確認済みです。
ブック名やコントロール名(ボタンの名前)等は、そちらの環境に合わせて変更して下さい。
    • good
    • 0
この回答へのお礼

ありがとうございます。同様の事成功しております。

>モジュール(私のテストではModule1)
→sheet1にコマンドボタンがありますので、標準モジュールではなく、Microsoft Excel Obiectのsheet1(sheet1)にプログラムを入れていくと、フォームでFNが表示されません。なぜなんでしょうか?

お礼日時:2009/08/13 21:41

> kmetu様と同様に作りますと、



同様にしていないからエラーになるのだと思われます

Public file_name As String

Private Sub CommandButton1_Click() 
file_name = "test.xls"
UserForm1.Show
End Sub
    • good
    • 0

先ほどの回答を理解されていれば答えは出ていますが


理解できていないのでしょうか?

同じ質問をしないようにしましょう。

この回答への補足

kmetu様と同様に作りますと、
コンパイルエラー
プロシ-ジャーの外では無効です。とエラーがでました。どうすればいいですか?

補足日時:2009/08/13 15:35
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!