Excel ODBC ドライバを使用しワークシートの TABLE_TYPE を取得すると System Table または Table になることがある

現象

OLE DB Provider (Microsoft Excel Driver (*.xls), Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)) を使用し、ワークシートの TABLE_TYPE を取得すると、
System Table あるいは Table として取得されます。
この動作は、ワークシートのシート名に依存します。
この技術情報では、System Table あるいは Table になるシート名の条件について説明します。


Table として取得される条件:

  1. シート名の先頭が $、半角数字の場合
  2. シート名の文字列中に日本語文字、半角アルファベット、半角数字、. (ドット)、$、’(シングル クォート) 以外の文字がある場合

シート名が上述の 1 あるいは 2 の条件に該当する場合、Table として取得されます。
また、取得されたシート名は ‘ (シングル クォート) で括られます。

Table として取得される記号例:

空白
"
#
%
&
(
)
,
;
@
^
{
|
}
~
+
<
=
>
-


System Table として取得される条件:

Table になる条件を満たさない場合、System Table として取得されます。


関連情報

257819 [HOWTO] Visual Basic または VBA から ADO を Excel データで使用する

300948 BUG: 不適切な TABLE_TYPE が Excel ワークシートの返される
プロパティ

文書番号:2653090 - 最終更新日: 2016/10/26 - リビジョン: 1

フィードバック