F# で Microsoft.Office.Interop.Excel を使用して、エンド ユーザー向けに CSV ファイルを開いて Excel ブックに変換する操作を自動化しています。
整数を使用して F# で OpenText() 呼び出しのフィールド情報パラメーターを指定すると、整数の使用に関する実行時の苦情が表示されます。整数は XlColumnDataTypes ではありません。
let fieldInfo = [| [|1;2|] ; [|2;2|] ; [|3;1|] ; [|4;1|] ; [|5;1|] ; [|6;1|] ; [|7;1|] ; [|8;1|] |]
let xl = ApplicationClass()
xl.Workbooks.OpenText(fileName, StartRow=1, DataType=XlTextParsingType.xlDelimited,
TextQualifier=XlTextQualifier.xlTextQualifierNone, Comma=true,
FieldInfo=fieldInfo)
let wb = xl.Workbooks.Item(1)
エラー: SafeArrayTypeMismatchException が処理されませんでした: 指定された配列は予期された型ではありませんでした。
しかし、XlColumnDataTypes を指定すると、コンパイル時に、整数を使用していないという苦情が寄せられます。
let fieldInfo = [| [|1;XlColumnDataType.xlTextFormat|];
[|2;XlColumnDataType.xlTextFormat|];
[|3;XlColumnDataType.xlGeneralFormat|];
[|4;XlColumnDataType.xlGeneralFormat|];
[|5;XlColumnDataType.xlGeneralFormat|];
[|6;XlColumnDataType.xlGeneralFormat|];
[|7;XlColumnDataType.xlGeneralFormat|];
[|8;XlColumnDataType.xlGeneralFormat|] |]
エラー: この式は int 型であると予想されていましたが、ここでは XlColumnDataType 型です。
他の誰かがこれを見たことがありますか?誰もこれを回避する方法を知っていますか?
ありがとう!