2013-04-30 70 views
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; 
    } 
} 
} 

回答

2

http://msdn.microsoft.com/en-us/library/office/aa168292(v=office.11).aspx

也許嘗試這樣的事:

// C# 
Excel.Workbook wb = ThisApplication.Workbooks.Open( 
"C:\\YourPath\\Yourworkbook.xls", 
Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
Type.Missing, Type.Missing); 
+0

好點,它解決的open()的問題,使用「ExcelObject.Run以同樣的方式時,同時(MACRO_NAME) ',第二個錯誤仍然存​​在。 – user2334435 2013-04-30 05:01:43

+0

您需要爲Run()添加相同的參數看起來像30個參數,但它取決於您使用的版本http://msdn.microsoft.com/en-us/library/office/ff197132.aspx – Jras 2013-04-30 05:05:04

+0

Hi Jras,它確實需要宏+ 30個參數,而我仍然用類似'Type.Missing','arg1'的不同單詞來填充參數。目前沒有成功。 – user2334435 2013-04-30 06:01:13

相關問題