アプリ版:「スタンプのみでお礼する」機能のリリースについて

二回連続でメッセージボックスで判断させて印刷をするコードを教えていただけるでしょうか。
大雑把な流れとしては、2つのファイル(Aファイル、Bファイル)
の印刷をどちらもメッセージで判断してもらうようにするものです。

1.「Aファイルを印刷しますか?」
(Yes)Aファイル.xlsの印刷→続いて2.に移る
(No)次のメッセージに移る

2.「Bファイルを印刷しますか?」
(Yes)Bファイル.xlsの印刷→印刷後終了
(No.)終了

こういうものです。
印刷対象のファイルはコードを記述するファイルと同じフォルダに入っています。

Aファイルはシートはひとつですが、ファイルが複数あり、共通点として「卒業生」という文字の共通があり、これに該当するものをすべて印刷。

Bファイルはファイルはひとつですが、中のシートが複数あります。
その中の「平成19年度」シートのみを印刷。

こういう条件ですが、どなたかお教えいただけないでしょうか。よろしくお願いします。

A 回答 (2件)

#1です。



> 質問のようなファイルの条件でコードの表現を...

条件そのものを理解出来てない部分があります。
また、もし最初からまる投げのつもりなら、それはどうかと思うところもあります。

例えば、前回フォルダ内の一覧に関して回答しましたが Aファイルは殆どその応用で良いと思います。
セルに書き出す代わりに Open して Printout すれば良いのです。
ファイル名に「卒業生」を含む物だけが対象ならば、InStr 等で判断出来ると思います。

Bファイルについては、マクロ記録を録って、フルパス部分の一部を 前回答のように Thisworkbook.path で置き換えてやればOKな気がします。
マクロ記録は融通が利きませんが、少し書き換え出来るようになれば結構役に立つ物になりますよ。

色々試して上手く行かないようなら、少しまとを絞って質問してみて下さい。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。もう少し勉強が必要なようです。お付き合いいただきありがとうございました。

お礼日時:2007/07/07 12:28

単純に IF を並べるだけで良いと思いますけど、、、



Sub Test()
Dim myMSG As String

myMSG = "Aファイルを印刷します。" & vbCrLf & "よろしいですか?"
If MsgBox(myMSG, vbYesNo + vbQuestion, "印刷") = vbYes Then
  'ここに処理
  MsgBox "Yesが押された"
End If

myMSG = "Bファイルを印刷します。" & vbCrLf & "よろしいですか?"
If MsgBox(myMSG, vbYesNo + vbQuestion, "印刷") = vbYes Then
  'ここに処理
  MsgBox "Yesが押された"
End If

End Sub
    • good
    • 0
この回答へのお礼

いつもありがとうございます。「ぜんぜん成長しないやつだな」と思われてそうで、恐縮しています。
恐縮ついでと言っては何ですが、質問のようなファイルの条件でコードの表現を教えていただけると幸いです。

お礼日時:2007/07/03 21:15

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