Date: prev next · Thread: first prev next last
2012 Archives by date, by thread · List index


こんにちは、毛井です。

VBAマクロに関することで、皆様にご相談、といいますか、ご意見を伺わせて
ください。

VBAマクロのコード「ThisWorkbook.〜」が有る場合の動きで困惑したことは
ありませんか?

例えば、以下のVBAを持つEXCElファイルがあるとします。

        Sub Main()
            ThisWorkbook.Worksheets("Sheet3")
        End Sub

このEXCELファイルをCALCで開き、ods形式で保存し、いったんファイルを
閉じます。
ods形式に保存したファイルをcalcで開いて、このVBAマクロを実行すると、
以下のエラーとなります。
        BASICランタイムエラー
        '423'
        Worksheets

モジュール名「ThisWorkbook」が存在し、コード中の「ThisWorkbook」と
衝突することが影響して発生してるようです。

モジュール「ThisWorkbook」を削除すると、元々の期待する動作:Sheet3を
選択します。

このモジュール「ThisWorkbook」は、LibreOfficeがVBAマクロを含むEXCEL
ファイルを読み込むときに、VBAモジュールから自動的に生成しています。

モジュール「ThisWorkbook」があるから、この423エラーが発生する、、、
確かにその通りなのですが。。。

bugzillaに要望として登録しようとしたのですが、そもそもどういう動きを
することが要望として適切なのか、わかりませんでした。

皆様、どう思われるでしょうか?

-- 
Hirono Moi

-- 
Unsubscribe instructions: E-mail to discuss+help@ja.libreoffice.org
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/ja/discuss/
All messages sent to this list will be publicly archived and cannot be deleted

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.