Description: I get a variable undefined error when I password protect a macro. The preamble to the macro is as follows. // Option Compatible' Option Explicit' Option VBASupport 1' // It also uses Japanese variables and functions. If you do not set a password, it will be executed when the document is opened without any problem. thank you Steps to Reproduce: 1.Select macro to run from Tools, Customization, Events 2.Tools, Macro Management, Basics, Administration, Libraries, Set Password 3.Open document and run macro Actual Results: Variable undefined error Expected Results: マクロによってcsvファイルを読込特定のセルに書き込む Reproducible: Always User Profile Reset: No Additional Info: Edition Windows 11 Pro Version 23H2 Installation date 2023/03/30 OS build 22631.2506 Experience Windows Feature Experience Pack 1000.22677.1000.0
reproduced If the library is unprotected, it can be executed, but if it is protected, the Japanese macro name will be ??? and cannot be executed. Version: 7.6.5.2 (X86_64) / LibreOffice Community Build ID: 38d5f62f85355c192ef5f1dd47c5c0c0c6d6598b CPU threads: 4; OS: Windows 10.0 Build 19045; UI render: Skia/Raster; VCL: win Locale: ja-JP (ja_JP); UI: en-US Calc: threaded
Wrapping the macro name in [] didn't work.
検証いただきありがとうございます! やはり日本語のマクロ名ではだめかもしれません。 asklibreofficeにて変数名は日本語でも大丈夫じゃないかとの提案をいただいたので マクロ名はアルファベットで記述する方向で進めようと思います。 検証の結果はこのページにも追記したいと思います。 改めてご協力ありがとうございました。
問題の詳細が見えてきたので追記いたします。 今回の問題は「パスワードを掛けたら動かない」ではなく「パスワードを掛けたらvba support 1が無効化される」というものでした。 具体的には、round関数・Workbooks(".ods").Sheets("").Cells(1, 2)等構文が使えないなどvba support 1を書かないことで起こるものと同じエラーが発生しています。 「パスワードを掛けたらvba support 1が無効化される」というバグはexcel vbaから引っ越す際の大きなハードルになりそうです。どうにか回避できないものでしょうか。