我們已經創建了一個電子表格,其中單元格的顏色等基於外部源的狀態(使用RSLinx的PLC標記)進行有條件的處理。我們寫了一個宏來拍攝特定範圍的屏幕截圖並將其保存爲JPG。然後,我們創建了一個網站來顯示電子表格的圖像,每隔30秒左右更新一次,以便對發生的事情進行「實時」表示。該宏如下圖所示:Excel宏屏幕截圖
Option Explicit
Private Sub SaveRngAsJPG(Rng As Range, FileName As String)
Dim Cht As Chart, bScreen As Boolean, Shp As Shape
bScreen = Application.ScreenUpdating
Application.ScreenUpdating = False
Set Cht = Workbooks.Add(xlChart).Charts(1)
Cht.ChartArea.Clear
Rng.CopyPicture xlScreen, xlPicture
Cht.Paste
With Cht.Shapes(1)
.Left = 0
.Top = 0
.Width = Cht.ChartArea.Width
.Height = Cht.ChartArea.Height
End With
Cht.Export FileName, "PNG", False
Cht.Parent.Close False
Application.ScreenUpdating = bScreen
End Sub
Sub TestIt2()
Dim Rng As Range, Fn As String
Set Rng = Range("A3:AQ40")
Fn = "C:\Users\Desktop\Website\LHImage.png"
SaveRngAsJPG Rng, Fn
End Sub
我們遇到的問題是圖像保存的尺寸爲981x659。這扭曲了圖像,當我嘗試改變.width和.height線條的大小時,它會調整圖像的主體大小,但會將其周圍的空白區域縮小爲981x659的全部尺寸。
有沒有什麼辦法可以改變圖像的大小,在保存之前保持其長寬比?
任何幫助將不勝感激!
爲什麼會有圖表參與?你不只是想獲得範圍的副本嗎? –
是的,這正是我們需要做的,但由於我的宏觀技能不是最好的,我們不得不導致搜索谷歌的選項,這就是所有似乎執行正確的功能回來 – evorg88
嘗試更改高度和寬度粘貼前。 –