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

 
私は、古いバージョンのエクセルを使っています。

マクロを組んでいるのですが、
そのエクセルシートを、他の人が開けません。
原因は、その人のエクセルが新しいものだからです。(私のが古いから・・・)
 
これは、どのように解決したらよいでしょうか?
新しく・・組み直すしかないのでしょうか?
(マクロの式をコピーして、その「新バージョンエクセル」のVBAで地道に貼り付け作業を行うとか・・・?)

もしも、楽な方法があれば助かると思いました。

・・どうぞ、よろしくお願いいたします!
 

A 回答 (4件)

[.xls]ブックでも、新しいバージョンの方で互換性を意識した動作となるよう、マクロ自体の改変が必要になるケース。



Excel2003以前のバージョンで作成したマクロを、Excel2007以降のバージョンで実行する場合の注意点 「マクロから新しいブックを作成すると、作成したブックが正常に開けない」
加藤 (2011年5月20日 18:00)
http://www.ilovex.co.jp/blog/system/projectandsy …
<<以下、抜粋>>
まず、マクロを実行しているExcelのバージョンを判定します。
その結果により、Excel2007以降のバージョンでマクロが実行されていた場合は、Excel97-2003形式で新しいブックを保存するようにしました。
そうすることにより、Excel2003以前のバージョンでも、Excel2007以降のバージョンでも正常に新しいブックを作成することが出来るようになります。
実装例を以下に記載しておきます。

view plaincopy to clipboardprint?
01.Dim loCreateWorkbook As Workbook
02.
03.'// 新たなブックを作成する
04.Set loCreateWorkbook = Workbooks.Add
05.
06.'// Excel2007以上の場合、Excel97 - 2003形式でBookを保存する
07.If Application.Version > 11 Then '// (1)
08.
09. loCreateWorkbook.SaveAs Filename:="C:\test\hoge.xls" _
10. , FileFormat:=56 '// (2)
11.
12.Else
13. loCreateWorkbook.SaveAs Filename:="C:\test\hoge.xls"
14.End If

以下、上記のコードの解説です。
(1)「Application.Version」で、マクロを実行しているExcelの
   バージョンを取得することができます。
   ちなみに、「11」は、Excel2003を表す数値です。
(2)マクロを実行しているExcelのバージョンを判定した結果、
   Excel2007以降のバージョンだった場合、
   Excel97-2003形式を指定してブックを保存しています。
   ちなみに、「56」は、Excel97-2003形式を表す数値です。
   Excel2007以降のバージョンでは、「xlExcel8」という
   システム定数を利用することができますが、
   今回の場合は、Excel2003以前のバージョンでも動作を保証するので、
   システム定数を利用せずに値を設定しています。

Excel2003以前のバージョンで作成したマクロで、新しいブックを作成する処理を実装していた場合、ユーザの環境がExcel2007以降のバージョンに変更になった際には、上記の問題が必ず発生します。
    • good
    • 2
この回答へのお礼

 これは、
 「新しいブックを作成する」というマクロについての話のようですね…。
 
 ですが、参考になりました。
 ご回答、どうもありがとうございました!

お礼日時:2012/08/18 12:53

保存するとき、拡張子.xlsxにしちゃったかな?


拡張子.xlsmのブックじゃないとマクロは動きませんよ。

.xlsのままなら、#1さんの言う通りなんですがね。
その辺のチェックはした方が良いかもです。
    • good
    • 1
この回答へのお礼

拡張子は問題有りませんでした。
ご回答、どうもありがとうございました!

お礼日時:2012/08/18 12:52

追加です。


参考までにURLを貼っておきます。
同じ現象かどうかは分かりませんが。

http://yasuda-style.blogspot.jp/2011/03/xlsexcel …
    • good
    • 5
この回答へのお礼

 このへんが、かなり怪しいので、
 先方に直接聞いてみます。
 ご回答、どうもありがとうございました!

お礼日時:2012/08/18 12:53

そのファイル自体が開けないのでしたら、エクセルのセキュリティーの問題でしょう。


信頼する場所にない場合はマクロは無効にするのが普通です。
私の場合エクセル2000で作ったマクロを2010で動かしています。
古いバージョンで作った物は上位互換のはずです。
逆はダメな場合がありますが。

参考までに。
    • good
    • 0
この回答へのお礼

 向こうのパソコンがマックなので、
 そのことが致命的なのかもしれません…。
 
 いろいろ試してみます。
 ご回答、どうもありがとうございました!

お礼日時:2012/08/18 12:52

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