2016-12-16 46 views
1

我在寫一個複雜的VBA應用程序,該應用程序從一個工作簿導入數據,並在數據導入時對其進行轉換。作爲此導入過程的一部分,計算會獲取某個單元格的.text值(並且不能更改爲.value),但這意味着如果源工作簿被縮小,則會導入### #####值,因爲這是顯示的內容。使用Excel VBA修改另一個工作簿中的.zoom屬性

我試圖修改源工作簿的activesheet中的.zoom設置爲100%縮放。下面是使用的代碼示例。

Dim SourcePath as String  
Dim SourceWorkbook as Object 

FilePath = Application.GetOpenFilename 'Opens dialogue for user to select source 
    If FilePath <> "" Then 'Checks that the filepath is completed 
     SourcePath = FilePath 'Stores the filepath for source 
    End If 

Set SourceWorkbook = Workbooks.Open(SourcePath) 

SourceWorkbook.ActiveWorksheet.Zoom = 100 

我得到一個運行時錯誤91:對象變量或帶塊變量未設置錯誤,所以我在這裏假設的邏輯性較差。

任何人都可以提出一種方法使這項工作?感謝預期。

回答

1

您可以使用下面的代碼

Sheets("Sheet Name").Select 
    ActiveWindow.Zoom = 30 ' Zoom Set to 30% 
+0

完美,謝謝!我做了以下幾點: – user3190686

+0

完美,謝謝!我將嘗試以下邏輯: 工作簿(SourceWorkbook).Worksheets(SourceSheet)。選擇 ActiveWindow.Zoom = 100個 工作簿(DestinationWorkbook).Worksheets(SourceSheet)。選擇 非常欣賞這一點,謝謝! – user3190686

相關問題