- ベストアンサー
エクセルVBAのプロパティ設定について
- VBAでエクセルのメニューのファイル→プロパティ→詳細情報にある改訂番号を変更する方法について解説します。
- 整数値の改訂番号は問題なく変更できますが、通常文字(アルファベット)を含める場合にはエラーとなり変更できません。
- ファイル右クリックからプロパティ-概要を開いて編集する分にはアルファベットを含んでいても問題ないため、整数値以外の制約がある可能性があります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは。 >エクセルファイルにはversion1.x.x.xのような形式であらかじめ改訂番号入っていて、 それは、手で入れたものではないでしょうか? >そのため目的としては参照を行ったBuiltinDocumentPropertiesと同じ場所に変更値を書き込みたいと思っております。 VBA側からは、数字というか、整数しか取り扱えないはずです。本来、VBAでは、BuiltinDocumentProperties は、読み取り専用にするのが一般的だっと思います。CustomPropertyは、マクロで使うための既定値のような使い方をします。
その他の回答 (1)
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。 BuiltinDocumentPropertiesは、規定のものしか代入できませんので、CustomProperty を使ってください。 Type は、文字型にしなくては、"version" という文字データは入れられません。 '------------------------------------------- '最初だけです。 Sub TestCustomsProperty() Dim i As Integer With ThisWorkbook.CustomDocumentProperties .Add Name:="改訂番号", _ LinkToContent:=False, _ Type:=msoPropertyTypeString, _ Value:="version1" End With End Sub '------------------------------------------- '2回目からは、 Sub AddPropertyNumber() Dim buf As Variant Dim i As Variant With ThisWorkbook.CustomDocumentProperties("改訂番号") buf = Replace(.Value, "version", "") i = CLng(buf) .Value = "version" & CStr(i + 1) End With End Sub
お礼
ご回答ありがとうございます。 この質問をしましたのは、複数あるエクセルファイルのプロパティ情報を まとめて参照設定できるようなツールを作成したいためとなります。 そのため目的としては参照を行ったBuiltinDocumentPropertiesと 同じ場所に変更値を書き込みたいと思っております。 (エクセルファイルにはversion1.x.x.xのような形式であらかじめ改訂番号 入っていて、それを変更可能にしたいと考えています) 型に関して、以下のような数値でなく文字列として認識されそうな適当な数列でも 試してみましたが変更可能でした。 00000598765432109876543210987654321098765432109876543210987654321077777 意図を汲み取っていただき丁寧なコード作成ありがとうございます。 CustomPropertyの使い方等知らなかったため勉強になりました。
お礼
こんばんは。 >それは、手で入れたものではないでしょうか? はい、バージョンはあらかじめ手で入れられたものだと思います。 BuiltinDocumentPropertiesで変更するのは無理そうですね。 別の方法を検討してみます。 ご回答ありがとうございました。