2017-03-07 51 views
1

我正在嘗試以點數確定可見工作表面積。到目前爲止,我已經嘗試了Application.Width,但是這給了我包括滾動條在內的整個區域,並且同樣Application.Height包含了功能區和水平滾動條。我特別需要的僅僅是這個可視工作表區域的大小。以點數確定可見工作表面積大小

我到目前爲止嘗試過的東西是看着可見光範圍。例如,如果我可以看到A1直通AA 40,那麼我就可以使用代碼

Debug.Print ws.Range("A1:AA40").Width 
Debug.Print ws.Range("A1:AA40").Height 

與此唯一的問題是,如果我能看到一半行41列AB的一半,然後我沒有全尺寸。另外,如果我決定將應用程序窗口大小更改爲屏幕的一半,則不可調整。

我沒有必要轉換成像素數量,我只需要點大小。有沒有人知道一種方法來獲得可見區域的大小,或者至少如何調整範圍以僅適合該可見區域?

回答

0

您可以訪問ApplicationWindows集合,並使用該集合的項目的WidthHeight屬性。例如。

Debug.Print Application.Windows(1).Width 
Debug.Print Application.Windows(1).Height 

您也可以參考ActiveWindow並從中獲取屬性。

例子:

enter image description here

+0

即清盤給我的應用程序窗口的尺寸了,於是從頂部斜畫的線從左上到右下最終會關閉屏幕。但是,它使我得到了我需要的答案。只需將「Width」更改爲「UseableWidth」,同樣也可以將高度更改爲「UseableWidth」。這就像一個魅力。謝謝! – SandPiper

+0

有趣的後續行動,當我在一臺計算機上嘗試了這個示例時,它工作正常。在我的另一臺電腦上,我不得不關閉標題以使其正確工作。好奇,但我不想在我的例子中顯示標題... – SandPiper