Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
WebアプリケーションからのExcel操作について
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=30483#CommentId83922
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
たくみ
 (学生)
投稿日時
2020/4/12 15:44:00
るきお様
お世話になります。
Webアプリは、Aで実行しています。
指定したExceファイルlを開き、印刷後終了するという流れなのですが、VisualStudioのデバッグでは、きちんと印刷されます。 localhostに公開(印刷用のWebFormは開きます)し実行するとエラーとなってしまいます。
最小限のコードになります。
申し訳ありませんが、宜しくお願い致します。
Protected Sub BtnPrint_Click(sender As Object, e As EventArgs) Handles BtnPrint.Click
Dim objExcel As Object = Nothing 'Excel Application
Dim objWorkBooks As Object = Nothing 'Excel WorkBooks
Dim objWorkBook As Object = Nothing 'Excel Workbook
Dim objSheets As Object = Nothing 'Excel WorkSheet
Dim objSheet As Object = Nothing 'Excel WorkSheet
Dim objRange As Object = Nothing 'Excel Range
Dim _xlsFile As String = Server.MapPath("~/prt/表.xlsx")
'EXCEL オープン処理
objExcel = CreateObject("Excel.Application")
objWorkBooks = objExcel.Workbooks
objWorkBook = objWorkBooks.Open(_xlsFile)
objSheets = objWorkBook.Sheets
objSheet = objSheets("01")
'EXCEL 出力処理
With objSheet
.PrintOut(Copies:=1, Collate:=True)
End With
objWorkBook.Saved = True '保存済みとする
' EXCEL終了処理
MRComObject(objPageSetup)
MRComObject(objRange)
MRComObject(objSheet)
MRComObject(objSheets)
MRComObject(objWorkBook)
MRComObject(objWorkBooks)
objExcel.Quit() : MRComObject(objExcel)
System.GC.Collect()
End Sub
' --- COM オブジェクトの解放
Public Sub MRComObject(ByRef objCom As Object)
'COM オブジェクトの使用後、明示的に COM オブジェクトへの参照を解放する
Try
'提供されたランタイム呼び出し可能ラッパーの参照カウントをデクリメントします
If Not objCom Is Nothing AndAlso
System.Runtime.InteropServices.Marshal.IsComObject(objCom) Then
System.Runtime.InteropServices.Marshal.ReleaseComObject(objCom)
End If
Catch
Finally
'参照を解除する
objCom = Nothing
End Try
End Sub