C#でAccessを使用した後の終了方法について
お世話になります。
C#(.Net4.7.1)で、Accessを間接的に開き、C#のコードからCSVファイルをインポートしようする
コードを組んでいます。
実際に取り込む部分はできたのですが、終了した後のAccessの終了の仕方、解放の仕方がわかりません。
理由は、サイト様などからVBで行っている記述を見つけ、コピーしてきてC#に書き直しているのですが、終了間際に『Util.MRComObject(DirectCast(mAccessApp, Object))』といった、C#では見慣れない部分が出てきてしまい、どう書き直せばいいのか迷っています。
ずばり答えをそのままお尋ねする形になってしまいますが、ご教授いただければ幸いです。
下記がコードです。
public static void Import(
string mdbFilePath,
string csvPath,
string tableName,
string schemaFile,
bool hasFieldNames
)
{
' ファイル存在チェック
if (!File.Exists(mdbFilePath))
{
return;
}
if (!File.Exists(csvPath))
{
return;
}
try
{
mAccessApp = new Microsoft.Office.Interop.Access.Application();
mAccessApp.AutomationSecurity =
Microsoft.Office.Core.MsoAutomationSecurity.msoAutomationSecurityLow; //マクロを有効にして開くように設定
mAccessApp.OpenCurrentDatabase(mdbFilePath, false);
mAccessApp.DoCmd.TransferText(
Microsoft.Office.Interop.Access.AcTextTransferType.acImportDelim,
schemaFile,
tableName,
csvPath,
hasFieldNames);
}
}
catch
{
}
finally
{
if (mAccessApp != null)
{
mAccessApp.CloseCurrentDatabase();
mAccessApp.Quit(Microsoft.Office.Interop.Access.AcQuitOption.acQuitSaveNone);
// ここで行っています。
Util.MRComObject(DirectCast(mAccessApp, Object))
}
}
}
よろしくお願いいたします。