2
我遇到了這個問題,因爲我在SSIS中編輯C#腳本任務時顯示標題,我嘗試了幾個在線發現的解決方案,但不工作。你能找出原因嗎?沒有過載方法'打開'/'運行'需要'1'參數
using Microsoft.VisualBasic;using System;
using System.IO;using System.Collections;
using System.Collections.Generic;using System.Data;
using System.Diagnostics;using Excel = Microsoft.Office.Interop.Excel;
using Microsoft.SqlServer.Dts.Runtime;
namespace ST_46fccdfebfc844059ab81e95c062c19e.csproj
{
[System.AddIn.AddIn("ScriptMain", Version = "1.0", Publisher = "", Description = "")]
public partial class ScriptMain : Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase
{
#region VSTA generated code
enum ScriptResults
{
Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success,
Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure
};
#endregion
public void Main()
{
string File_name = "c:\\Documents and Settings\\richard.gui\\Desktop\\ARupload.xlsm";
string Macro_name = "test";
Excel.Application ExcelObject = default(Excel.Application);
Excel.Workbooks oBooks = default(Excel.Workbooks);
Excel.WorkbookClass oBook = default(Excel.WorkbookClass);
ExcelObject.Visible = true;
oBooks = ExcelObject.Workbooks;
oBook = (Excel.WorkbookClass)oBooks.Open(File_name);
ExcelObject.Run(Macro_name);
oBook.Save();
ExcelObject.Application.Quit();
ExcelObject.DisplayAlerts = true;
ExcelObject = null;
Dts.TaskResult = (int)ScriptResults.Success;
}
}
}
好點,它解決的open()的問題,使用「ExcelObject.Run以同樣的方式時,同時(MACRO_NAME) ',第二個錯誤仍然存在。 – user2334435 2013-04-30 05:01:43
您需要爲Run()添加相同的參數看起來像30個參數,但它取決於您使用的版本http://msdn.microsoft.com/en-us/library/office/ff197132.aspx – Jras 2013-04-30 05:05:04
Hi Jras,它確實需要宏+ 30個參數,而我仍然用類似'Type.Missing','arg1'的不同單詞來填充參數。目前沒有成功。 – user2334435 2013-04-30 06:01:13