ここから本文です

ファイル名に同一文字列を含んだエクセルファイルを開く際、特定(自分)のPCだ...

och********さん

2013/2/1914:15:54

ファイル名に同一文字列を含んだエクセルファイルを開く際、特定(自分)のPCだけ、
任意の吹き出しを表示したいのですが良い方法はないでしょうか?

ファイルはメールに添付されたり、コピーされて自分のところに届きます。

ファイル自体にマクロを付けて実行すれば簡単らしいのですが、

ファイルの原本の変更やマクロの貼り付けは避けたいのです。


例えば

ファイル名”レタス出荷201212.xls””レタス出荷201301.xls”の様に「レタス出荷」という

文字列が含まれたファイルを開く時のみ吹き出しで「包装資材発注済み?」や

「発注期限”〇月〇日(ファイル内セルデータ)”」といった任意の警告文のような

物を表示したいのです。吹き出しでなくてもほかの表示方法でも構いません。


ご存知の方、お知恵をお貸しください。

よろしくお願いいたします。

補足kuro96trさんご回答ありがとうございました。

早速、試してみましたがエラーが出てデバックに進むと

Set listWS = ThisWorkbook.Worksheets("list")

がエラーの部分となってしまいます。どうしてでしょう?

お手数かけます。

閲覧数:
1,083
回答数:
1
お礼:
50枚

違反報告

ベストアンサーに選ばれた回答

kur********さん

編集あり2013/2/2518:09:09

<補足をうけて>
シート名を確認して下さい。listになってますか?
全角半角、スペースが入ってないか等確認して下さい。

*******


まず、新規ブックを作成してシートのひとつの名前を「list」として下さい。
で、ブックも「List.xls」もしくは「List.xlsm」で保存。
ブック名は説明用の任意の名前ですが、シート名は「list」でないと動きません。

listシートのA列の2行目以降に対象ファイル名、B列にメッセージを記入してく(添付図参照)

Alt+F11を押してVBEを立ちあげて、List.xlsの「ThisWorkBook」に以下をコピペ。
この時、コピペする場所を間違えないで下さい。
「ThisWorkBookモジュール」がわからない場合は検索を。

シート名が合わない場合のエラー処理など、入れていません。

Option Explicit
Dim WithEvents xlApp As Application
Private Sub Workbook_Open()
Set xlApp = Application
End Sub
Private Sub xlApp_WorkbookOpen(ByVal Wb As Workbook)
Dim listWS As Worksheet
Dim i As Long

Set listWS = ThisWorkbook.Worksheets("list")

If Not Wb Is ThisWorkbook Then
For i = 2 To listWS.Range("A1").End(xlDown).Row
If (Wb.Name Like "*" & listWS.Range("A" & i).Value & "*") Then
MsgBox listWS.Range("B" & i).Value
MsgBox "発注期限:" & Wb.Worksheets("Sheet1").Range("B2").Value
End If
Next i
End If
End Sub

発注期限は仮に、Sheet1のB2としています。
実情にあわせてコードを修正して下さい。

私の環境では、一度Excelを立ちあげなおさないと上手く動かなかったので
Excelを再起動してList.xlsを立ち上げた後、「レタス出荷~」ブックを立ちあげてみて下さい。

こちらの実現方法を考えるにあたり、
以下サイトで他ブックの起動を取得する方法を教えて頂きました。
http://www.excel.studio-kazu.jp/kw/20130220115100.html?t=173952

<補足をうけて>
シート名を確認して下さい。listになってますか?...

質問した人からのコメント

2013/2/26 09:26:30

KURO96TRさん、ありがとうございました。シート名にlistを付けていませんでした。また、その先でエラーが発生しまして、MsgBox "発注期限:" & Wb.Worksheets("Sheet1").Range("B2").Valueの部分で、シート名を変更、B2部分が6セル結合されているのでエラーとなっているのではないかと思います。解決方法がありましたらお願いします。

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる