[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『コンバーターでファイルが保存されませんでした』(marsan)
マクロ付きのファイルを開く際にエラーメッセージが出て困っています。
ファイルの起動時にマクロが実行されるようになっており、
[ファイル名].xlsmで作成しています。
メッセージの内容は以下の通りです。
「ファイルを変換しています...」
と出ており、直後に
「'[ファイル名].xlsm'が見つかりません。
ファイル名およびファイルの保存場所が正しいかどうかを確認してください。
最近使用したファイルの一覧からファイルを開こうとしている場合は、
そのファイル名が変更されていないこと、移動または削除されていないこと
を確認してください。」
となります。メッセージを閉じると、
「コンバータでファイルが保存されませんでした。」
で、結局ファイルは開けません。
同じWin7、Excel2007の別PCでも同様の現象ですが、
Win8、Excel2007では問題なく動作します。
Excel2007で.xlsmのファイルを開くのに、
変換(コンバータ)が動作する理由がわかりません。
< 使用 Excel:Excel2007、使用 OS:Windows7 >
とりあえず、そのマクロブックの 標準モジュールの Auto_Open ないしは ThisWorkbookモジュールの Workbook_Open に書かれたコードを、そのままコピペでアップされてはいかがでしょう。
何か発見があるかもしれませんので。
なお、「コンバータでファイルが保存されませんでした」で検索すると、同様の現象が報告されていますので それらも、参考になるのではないでしょうか。
(β) 2016/01/15(金) 10:35
β様
ソースは以下の通りです。
'////////////////////////////////////////
' 起動時自動実行
'////////////////////////////////////////
Sub Auto_open()
'画面の更新表示を停止
Application.ScreenUpdating = False
'CSVコピー
Application.Run "グラフ.xlsm!Macro01取込"
'グラフを画像として保存
Dim myRess As Variant '(グラフ ) If ActiveSheet.Range("C1") = "0" Or ActiveSheet.Range("C1") = "1" Then myRess = Worksheets("グラフ").ChartObjects("グラフ").Chart.Export( _ ThisWorkbook.Path & "\グラフ.PNG", "PNG", False) End If
'Excelの終了
Application.DisplayAlerts = False Application.Quit
End Sub
'////////////////////////////////////////
' CSV取込み
'////////////////////////////////////////
Sub Macro01取込()
'CSV名称
Dim CsvName As String Dim SheetsName As String
SheetsName = "グラフ" CsvName = SheetsName & ".CSV"
'CSVファイルオープン
Workbooks.Open Filename:=ThisWorkbook.Path & "\" & CsvName
'コピー
Windows("グラフ.xlsm").Activate
With ActiveSheet .Range("A1:R22").Value = Workbooks(CsvName).Worksheets(SheetsName).Range("A1:R22").Value End With
'CSVファイルクローズ
Workbooks(CsvName).Close
End Sub
以上です。
(marsan) 2016/01/15(金) 14:14
おそらくは、???さん指摘の(エラーメッセージで検索して出てくるページにも示唆されていますけど)互換パックがらみの問題だと想像します。
コード、気になるところはありますが、まぁ、結果オーラいでしょうから。
でも気になりますね。 ブックを開いた時に、どのシートがアクティブになっているかは、実に不確かなことですよね? 前回保存する際にどのシートをアクティブにしていたかに依存しますから。 ですから、ActiveSheet として参照するのは、きわめて、あぶなっかしいです。 ちゃんとしたシート名を明示して参照すべきだと思いますよ。
ところで、このマクロブックは グラフ.xlsm とは別物なのですか?
(β) 2016/01/15(金) 14:28
「ところで、このマクロブックは グラフ.xlsm とは別物なのですか?」
すみません、知識不足でよくわからないのですが、
.xlsmのファイルに設定しているマクロです。
別物でなく一緒ってことですかね。
???様
ありがとうございます。
参照しているライブラリでチェックが外せるものは外してみましたが、
現象変わらずです。すみません。
(marsan) 2016/01/15(金) 15:17
もし、マクロブックの名前が グラフ.xlsm つまり、開こうとしているマクロブックであれば
Windows("グラフ.xlsm").Activate
これは
ThisWorkbook.Activate
のほうが、わかりやすいですね。(というか安全) 将来、マクロブックの名前が変更になるかもしれませんよね、可能性としては。 コード内でハードコードにしておくと、コード変更も必要になりますので。
さらにいえば、Activate する必要は(少なくとも コード処理上は)不要で
ThosWOrkbook.Sheets("○○○").Range("A1:R22").Value = Workbooks(CsvName).Worksheets(SheetsName).Range("A1:R22").Value
この1行でいいというか、こうすべきですねぇ。
(β) 2016/01/15(金) 17:28
WINDOWSが64bit版でも、Officeは32bit版を使う方が安定します。
(???) 2016/01/15(金) 17:30
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.