■67554 / inTopicNo.4) |
Re[3]: excelのセルの書き換え方がわかりません |
□投稿者/ 魔界の仮面弁士 (301回)-(2013/08/09(Fri) 11:44:01)
|
■No67549 (裕猫 さん) に返信
>>UPDATE クエリーで編集できます。下記が参考になるかと。
>>http://support.microsoft.com/kb/316934/ja
> ここは見ていたのですがF1 F2の意味が理解きませんでした。
列名です。下記のような説明が書かれていたハズですが、分かりにくかったでしょうか?
---------
接続文字列に HDR=NO と指定すると、Jet OLE DB プロバイダによって
フィールドに自動的に名前が付けられます
(最初のフィールドは F1、2 番目のフィールドは F2 など)。
---------
F1、F2 は、それぞれ第一列、第二列の意味です。
Jet の ISAM ドライバは、無名列に対して Fn 形式の名前を付けます。
先頭行を列名と見なすかどうかは、接続パラメータにて切り替えられます。
「;Extended Properties="Excel 8.0;HDR=YES";」
「;Extended Properties="Excel 8.0;HDR=NO";」
ただし JET 経由での操作の場合は、データ型判定に失敗することがあります。
http://hanatyan.sakura.ne.jp/vbhlp/dao_002.htm
http://support.microsoft.com/kb/194124/ja
読込専用なら IMEX=1 を指定することで誤判定に対処できますが、
編集目的では使えないため、その点は注意が必要です。
> カーソル処理は必要ないです。
提示いただいたコードがループ処理だったので、てっきり
カーソル制御が必要なのかと思ってしまいました。(^^;
> ここの方法はいいですね。OFFICE2007で覚えた方法が応用できそうです。
バージョンが変わるとメソッド定義が変わるので気を付けてください。
省略可能な引数が追加されて引数の数が増えているパターンなどもあるためです。
(C#2010 以降や VBScript 等であれば、このあたりは気にせず済みますが…)
有名どころとしては、このあたり。
/* Workbooks.Open メソッド */
HRESULT Open(
[in] BSTR Filename,
[in, optional] VARIANT UpdateLinks,
[in, optional] VARIANT ReadOnly,
[in, optional] VARIANT Format,
[in, optional] VARIANT Password,
[in, optional] VARIANT WriteResPassword,
[in, optional] VARIANT IgnoreReadOnlyRecommended,
[in, optional] VARIANT Origin,
[in, optional] VARIANT Delimiter,
[in, optional] VARIANT Editable,
[in, optional] VARIANT Notify,
[in, optional] VARIANT Converter,
[in, optional] VARIANT AddToMru,
#if ExcelVER >= 2002
[in, optional] VARIANT Local,
[in, optional] VARIANT CorruptLoad,
#endif
[in, lcid] long lcid,
[out, retval] Workbook** RHS);
/* Workbooks.OpenText メソッド */
HRESULT OpenText(
[in] BSTR Filename,
[in, optional] VARIANT Origin,
[in, optional] VARIANT StartRow,
[in, optional] VARIANT DataType,
[in, optional, defaultvalue(1)] XlTextQualifier TextQualifier,
[in, optional] VARIANT ConsecutiveDelimiter,
[in, optional] VARIANT Tab,
[in, optional] VARIANT Semicolon,
[in, optional] VARIANT Comma,
[in, optional] VARIANT Space,
[in, optional] VARIANT Other,
[in, optional] VARIANT OtherChar,
[in, optional] VARIANT FieldInfo,
[in, optional] VARIANT TextVisualLayout,
#if ExcelVER >= 97
[in, optional] VARIANT DecimalSeparator,
[in, optional] VARIANT ThousandsSeparator,
#endif
#if ExcelVER >= 2002
[in, optional] VARIANT TrailingMinusNumbers,
[in, optional] VARIANT Local,
#endif
[in, lcid] long lcid);
この他、以前は戻り値の無かったメソッド(Sub)が、戻り値あり(Function)になる場合もあるので、
レイトバインドにする場合は、それぞれのバージョンのタイプライブラリの違いを、
充分に調査しておく必要があります。
> これから遅延バインディングについて調べてやってみます。
ついでに、COM 解放についても。
http://jeanne.wankuma.com/tips/csharp/programming/releasecom.html
http://support.microsoft.com/kb/317109/en-us
|
|