請教邦友
目前計畫使用powershell指令寄發mail
但想在mail的body中黏貼上某excel檔內的特定sheet
請教是否有命令可以直接對此sheet作複製貼上至mail body的方法,包含格式、框線
目前想的比較笨的方法是對單儲存格一格一格取值放回powershell宣告的變數中
再將變數丟至mail body,但相當費工
另外在對岸的論壇上找到一些對excel物件控制的方法: 在取值前 這樣子寫是否正確?
如果此檔本身已經開啟在桌面的狀態下,那下面這些命令是否是多餘的
$objExcel = New-Object -ComObject Excel.Application
#使用 COM 來建置 Excel.Application 的物件
$FilePath = "D:\Test.xlsx"
$WorkBook = $objExcel.Workbooks.Open( $FilePath )
#使用 Open() 來開啟 Excel 檔案
$WorkSheet = $WorkBook.sheets.item( "s1" )
#存取特定的 Sheet
$WorkSheet.activate()
$a = $worksheet.Rows.Item(2).Columns.Item(3).text
$WorkBook.Close()
$objExcel.Quit() #关闭Excel应用
$objExcel = $null # 释放进程
[GC]::Collect() # 释放进程
取值得部分看起來是沒問題 詳細請再測試
我碰到的問題是無法正常的結束Excel 造成下次開啟時會有問題
所以用強制結束的方式處理