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

Excelのクイックアクセスツールバーでユーザ設定したアイコンにマクロを設定して使っているのですが、作成時は大丈夫なのに、2回目以降、しばらくぶりに使おうとすると、”申し訳ございません。C:\パス名\ファイル名.xltmファイルが見つかりません。名前が変更されたか、移動や削除が行われた可能性があります。"と出ます。移動も削除も行っていないです。なぜかわかりますでしょうか?
.xlsmの方で使用した方がそのようなことはないのでしょうか?
ちなみに内容は前回質問させていただいた、エクセルのデータをCSVファイルに書き出すものです。
なので、エクセルシート上にコピペで貼り付けたデータはCSVにはきだした後は保存せず、常にブランクの状態になります。

説明がわかりにくいかもしれませんが、よろしくお願いします。

A 回答 (3件)

RingRing25さんは次のような手順でマクロの登録を行ったのでしょうか?


①テンプレートを開く。
②クイックアクセスツールバーに登録
③登録したアイコンをクリックして動作確認。

もしそうであれば、登録手順に問題があると思われます。
まず、①でテンプレートを開くと、テンプレートを元にした新規ブックが開きます。ブック名でいうと「xxxx1.xlsm」みたいに、テンプレート名の後ろに数字が付いた状態だと思います。
このままマクロを登録するとパス無しで登録されてしまいます(保存前なので、保存先のパスが確定していない)。ただ、ブックが開かれているため、アイコンをクリックすれば正常に動作します。しかし、一旦、Excelを終了し、再度、起動してアイコンをクリックすると、Excelはブックがどこにあるかわからないので、問題のメッセージが表示します。

正しく登録するには、テンプレートを開いた後に、一旦保存してからマクロ登録を行えば、パス付で登録できます。
念のため言っておきますが、テンプレートを開くとxxxx1みたいな名前になるので、そのまま保存してしまうと同じようなファイルが二つできてしまいます。元の名前かつ元のフォルダに上書き保存することをお勧めします。
    • good
    • 1

この質問、すごく気になったので、ちょっと回答させてください。


C:\パス名\ファイル名.xltm
たぶん、テンプレートにマクロを入れて呼び出すというのは、ありえないスタイルだと思います。

ふつう、クイック・アクセス・ツール・バーに搭載するなら、PERSONAL.XLSB(個人用マクロブック)に書き込むのが一般的です。

なお、「Excelでお仕事」を参照されたそうですが、マクロの内容が複雑すぎるような気がします。そのようなコードは、今は誰も書かないような気がします。
    • good
    • 0

若し、宜しければマクロのコードを示して貰えないでしょうか。

そうするとイメージ
が掴めて早期に問題解決が出来るとは思いますが。

何事も急がば回れです。急いで中身を省くとあまり良い効果は期待出来ないと思いますが。

エラーの出方が期待をしている様なメッセージになるとは限りません。その時のエラーが出ているホルダーと言うのは若しかしたら下駄がかぶさっているのかも知れませんが。

だから、実際にエラーが出ている個所で現在のホルダーが何処を示しているのかをトレースをすれば問題の解決にはなると思いますが。何れにしても何もデータの無い所での質問は空虚な時間の無駄使いにしかならないと思いますが。

詳細な情報の開示をお願いします。
    • good
    • 0
この回答へのお礼

usui-2015様
大変失礼いたしました。
ファイルオープンの部分だけ記載させていただきます。
どうぞよろしくお願いします。

' CSV形式テキストファイル書き出すサンプル
Sub WRITE_CSVFile()
Const cnsTitle = "CSVテキストファイル出力処理"
Const cnsFilter = "CSVファイル (*.csv;*.dat),*.csv;*.dat"
Dim xlAPP As Application ' Applicationオブジェクト
Dim intFF As Integer ' FreeFile値
Dim strFileName As String ' OPENするファイル名(フルパス)
Dim vntFileName As Variant ' ファイル名受取り用
Dim X(1 To 10) As String ' 書き出すレコード内容

' Applicationオブジェクト取得
Set xlAPP = Application
' 「名前を付けて保存」のフォームでファイル名の指定を受ける
xlAPP.StatusBar = "出力するファイル名を指定して下さい。"
vntFileName = xlAPP.GetSaveAsFilename(InitialFileName:="SAMPLE.csv", _
FileFilter:=cnsFilter, _
Title:=cnsTitle)
' キャンセルされた場合はFalseが返るので以降の処理は行なわない
If VarType(vntFileName) = vbBoolean Then Exit Sub
strFileName = vntFileName

お礼日時:2016/03/08 10:09

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