こんにちは。 頭の中で実行してみました。 > NoKey = pdoc.GetItemValue("Categories") このままでは NoKey に配列が代入されます。 NoKey = pdoc.GetItemValue("Categories") ( 0 ) じゃないでしょうか? 文字列と配列とを比較しようとしてエラーになっているのではないでしょうか? というか、そもそも NoKey をなぜ String で宣言しないのでしょう? Variant は便利だけど、結構取り扱いが厄介ですよ。