Подсчет страниц в области печати другой вкладки - PullRequest
1 голос
/ 05 мая 2020

Цель Создать функцию Excel, которая подсчитывает количество страниц на другой вкладке, но также учитывает область печати. ​​

То, что я пробовал следующая функция работает, но не учитывает области печати, и, как ни странно, при пересчете изменений она выводит

Public Function countpa(Tabx As String) As Integer
    Application.Volatile
    countpa = Sheets(Tabx).PageSetup.Pages.Count
End Function

Следующая интегрированная функция GET.DOCUMENT (50), похоже, учитывает макет страницы / область печати, но я не не удалось использовать его в функции, которая позволяет мне ссылаться на другую вкладку

работает при выполнении на вкладке

Sub ShowMe()
    MsgBox ExecuteExcel4Macro("GET.DOCUMENT(50)") & _
        " pages will be printed."
End Sub

не работает

Public Function countp(Tabx As String) As Long
   countp = Application.ExecuteExcel4Macro("Get.Document(50," & Tabx & ")")
End Function

Заранее благодарим за помощь

1 Ответ

1 голос
/ 05 мая 2020

Вы должны включить двойные кавычки "" в части строки вместе с начальными или конечными кавычками.

Public Function countp(Tabx As String) As Long
countp = ExecuteExcel4Macro("Get.Document(50,""" & Tabx & """)")
End Function

Пример вызова

Debug.Print countp("Sheet1") & " page(s) will be printed."
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...