////////////////以下是VB6.0代碼,已實現
Public Sub printSetupSheet()
    Dim XLSAPP As Excel.Application
    Dim xSheet As New Excel.Worksheet
    Set XLSAPP = New Excel.Application
    XLSAPP.Workbooks.Open FileName:="e:\insertfile.xls"
    Set xSheet = XLSAPP.ActiveWorkbook.Sheets(1)
    xSheet.Cells(1, 3) = "dd"
    xSheet.OLEObjects.Add(FileName:="C:\1.prn", Link:=False, DisplayAsIcon:=False).Select
    XLSAPP.Selection.ShapeRange.IncrementLeft 164.25
    XLSAPP.Selection.ShapeRange.IncrementTop 3#
    XLSAPP.ActiveWorkbook.Save
    XLSAPP.ActiveWorkbook.Close False
    XLSAPP.DisplayAlerts = False
    XLSAPP.Quit
    Set XLSAPP = Nothing
End Sub
////////////////以下是VB.NET代碼,已實現
    Public Sub printSetupSheet()
        Dim XLSAPP As Excel.Application
        Dim xSheet As New Excel.Worksheet
        XLSAPP = New Excel.Application
        XLSAPP.Workbooks.Open(FileName:="e:\insertfile.xls")
        xSheet = XLSAPP.ActiveWorkbook.Sheets(1)
        xSheet.Cells._Default(1, 3) = "dd"
        xSheet.OLEObjects.Add(FileName:="C:\1.prn", Link:=False, DisplayAsIcon:=False).Select()
        XLSAPP.Selection.ShapeRange.IncrementLeft(164.25)
        XLSAPP.Selection.ShapeRange.IncrementTop(3.0#)
        XLSAPP.ActiveWorkbook.Save()
        XLSAPP.ActiveWorkbook.Close(False)
        XLSAPP.DisplayAlerts = False
        XLSAPP.Quit()
        XLSAPP = Nothing
    End

解决方案 »

  1.   

    public void printSetupSheet()
    {
    Excel.Application xlsApp =new Excel.Application;
    Excel.Worksheet xSheet=new Excel.Worksheet;
    xlsApp.Workbooks.Open(FileName=@"e:\insertfile.xls");
    xSheet=xlsApp.ActiveWorkbook.Sheets(1);
    xSheet.Cells._Default(1.3)="dd";
    xSheet.OLEObjects.Add(FileName=@"C:\1.prn", Link:=False, DisplayAsIcon:=False).Select();
    XLSAPP.Selection.ShapeRange.IncrementLeft(164.25);
    XLSAPP.Selection.ShapeRange.IncrementTop(3.0#);
    XLSAPP.ActiveWorkbook.Save();
    XLSAPP.ActiveWorkbook.Close(False);
    XLSAPP.DisplayAlerts = False;
    XLSAPP.Quit();
    }
    如果字没有打错的话,应该就可以了
    XLSAPP = Nothing
      

  2.   

    樓上的,不管用關鍵是下面這句話怎麼轉成C#        xSheet.OLEObjects.Add(FileName:="C:\1.prn", Link:=False, DisplayAsIcon:=False).Select()
      

  3.   

    xSheet.OLEObjects.Add(FileName:="C:\1.prn", Link:=False, DisplayAsIcon:=False).Select()转成C#
    ——>
    xSheet.OLEObjects.Add(null,@"C:\1.prn",false,false,null,0,null,0,0,0,0);
      

  4.   

    不好意思,应该是:xSheet.OLEObjects.Add(null,@"C:\1.prn",false,false,null,0,null,0,0,0,0).Select();
      

  5.   

    不行啊,如下錯誤提示G:\CISCO\StencilSystem\DLL\DLLTest\Form1.cs(195): 'Excel._Worksheet.OLEObjects(object)' 代表 '方法',這在給定的內容中是無效的
      

  6.   

    不好意思,我没有发现还有一个重载方法,应该是这样的:(xSheet.OLEObjects(Type.Missing) as Excel.OLEObjects).Add(Type.Missing,@"C:\1.prn",false,false,Type.Missing,Type.Missing,Type.Missing,0,0,Type.Missing,Type.Missing).Select(false);
      

  7.   

    樓上的語句還是有點問題﹐附件位置不能直接設0﹐0
    附件的位置是只讀的﹐所以語句該寫成﹕
    fRange=fWorksheet.get_Range(fWorksheet.Cells[15,1],fWorksheet.Cells[15,2]);
    fRange.Select();
           
    (fWorksheet.OLEObjects(Type.Missing) as Excel.OLEObjects).Add(Type.Missing,this.filePath.Value,false,false,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing).Select(false);looner 可以給分了﹐我都試過了﹐沒問題