Đặt kích thước cửa sổ chương trình trong Macro (Microsoft Excel)
Christopher cần, trong một macro, để đặt kích thước của cửa sổ chương trình Excel. Anh ấy biết cách đặt kích thước của trang tính trong cửa sổ chương trình, nhưng đó không phải là thứ anh ấy cần. Anh ấy tự hỏi làm thế nào anh ấy có thể đặt kích thước tổng thể của cửa sổ chương trình, cộng với đảm bảo rằng anh ấy không đặt nó lớn hơn kích thước màn hình thực của người dùng.
Điều này có thể được thực hiện khá dễ dàng nếu người ta biết đối tượng và thuộc tính nào sẽ sử dụng trong macro của bạn. Đối tượng bạn muốn sử dụng là đối tượng Ứng dụng, dùng để chỉ ứng dụng Excel. Đây là các thuộc tính thích hợp:
Trên cùng. * Pixel màn hình mà tại đó cạnh trên cùng của cửa sổ ứng dụng sẽ được đặt.
Left. * Pixel màn hình mà tại đó cạnh trái của cửa sổ ứng dụng sẽ được đặt.
Chiều rộng. * Chiều rộng của cửa sổ ứng dụng, tính bằng pixel.
Chiều cao. * Chiều cao của cửa sổ ứng dụng, tính bằng pixel.
Với những điều này, bạn có thể đặt vị trí và kích thước của cửa sổ chương trình theo cách sau:
Sub SetWindowSize1() Application.WindowState = xlNormal Application.Top = 25 Application.Left = 25 Application.Width = 300 Application.Height = 200 End Sub
Macro này chỉ định góc trên bên trái của cửa sổ chương trình là 25 pixel từ đầu màn hình và 25 pixel từ bên trái màn hình. Sau đó, cửa sổ chương trình được thiết lập rộng 300 pixel và cao 200 pixel. Cũng cần lưu ý, cài đặt thuộc tính WindowState ở đầu macro. Điều này đặt cửa sổ ở trạng thái “bình thường”, nghĩa là cửa sổ có thể được thay đổi kích thước thành một thứ lớn hơn mức thu nhỏ và nhỏ hơn mức tối đa. (Nếu bạn muốn cửa sổ chương trình Excel chiếm toàn bộ màn hình của chúng, chỉ cần đặt thuộc tính WindowState thành xlMaximized và quên phần còn lại của cài đặt trong macro.)
Tất nhiên, macro này đặt cửa sổ chương trình Excel khá nhỏ.
Có khả năng là bạn sẽ muốn nó lớn hơn, nhưng bạn không muốn nó lớn hơn kích thước màn hình của người dùng. Cách dễ nhất để tìm ra kích thước màn hình của người dùng là chỉ cần phóng to cửa sổ ứng dụng Excel và sau đó xem các thuộc tính Chiều rộng và Chiều cao. Sau đó, bạn có thể điều chỉnh các số liệu đó dựa trên vị trí bạn muốn đặt góc trên bên trái của màn hình và sau đó điều chỉnh cho phù hợp.
Ví dụ, giả sử bạn muốn cửa sổ chương trình bắt đầu ở 25, 50 và bạn muốn nó là 1000 x 500. Bạn có thể sử dụng mã tương tự như sau:
Sub SetWindowSize2() Dim iMaxWidth As Integer Dim iMaxHeight As Integer Dim iStartX As Integer Dim iStartY As Integer Dim iDesiredWidth As Integer Dim iDesiredHeight As Integer iStartX = 50 ' Distance from left iStartY = 25 ' Distance from top iDesiredWidth = 1000 iDesiredHeight = 500 With Application .WindowState = xlMaximized iMaxWidth = Application.Width iMaxHeight = Application.Height ' Adjust for starting point iMaxWidth = iMaxWidth - iStartX iMaxHeight = iMaxHeight - iStartY If iDesiredWidth > iMaxWidth Then iDesiredWidth = iMaxWidth End If If iDesiredHeight > iMaxHeight Then iDesiredHeight = iMaxHeight End If .WindowState = xlNormal .Top = iStartY .Left = iStartX .Width = iDesiredWidth .Height = iDesiredHeight End With End Sub
_Lưu ý: _
Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên trang ExcelTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.
ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.
Mẹo này (10939) áp dụng cho Microsoft Excel 2007, 2010, 2013, 2016, 2019 và Excel trong Office 365. Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện menu cũ hơn của Excel tại đây: