#excel #vba #pdf
#excel #vba #PDF
Вопрос:
У меня есть проблема, которую я не могу решить с помощью своих возможностей Excel. Я хотел бы сохранить диапазон ячеек с одного листа в .pdf. Имя должно быть в виде значений в некоторых ячейках. Место для сохранения — это просто папка, в которой находится файл Excel. Я не знаю, в чем моя проблема. Вот мой код.
Но всегда есть ошибка во время выполнения 5. Недопустимый вызов процедуры или аргумент.
Заранее благодарю вас.
Dim rng As Range
Set rng = Range("A1:K49")
Dim ID As String
Dim DIR As String
ID = Range("E5").Value amp; "_" amp; Range("E7").Value
DIR = ActiveWorkbook.Path
MsgBox ActiveWorkbook.Path, vbInformation, "Workbook Path"
rng.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=DIR ID ".pdf", _
Quality:=xlQualityStandard, _
IgnorePrintAreas:=True, _
OpenAfterPublish:=False
Комментарии:
1. Первый шаг, используйте
amp;
для объединения вместо. Далее, вероятно, отсутствует обратная косая черта между
Dir
иID
.2. Ах, так это то, что ты пытался написать @BigBen . Я видел первое редактирование, и это сбивало с толку. Я считаю, что вам нужно удвоить обратную косую черту внутри кодовых меток. Надеюсь, так:
. Хорошо, я ошибся, двойные кодовые метки с каждой стороны и только одна обратная косая черта
3. @Andreas — да, я всегда забываю / никогда не пытаюсь выяснить, сколько обратных ссылок необходимо.
4. Имейте в виду, что вы всегда можете самостоятельно отладить свой код, прежде чем писать вопрос. Простой
msgbox DIR
иmsgbox ID
показал бы вам, каковы значения, которые также полезно включить в вопрос.5. Теперь, когда я использую этот код: rng.ExportAsFixedFormat _ Type:=xlTypePDF, _ Filename:=»DIR» «ID» amp; «.pdf», _ Quality:= xlQualityStandard, _ IgnorePrintAreas:=True, _ OpenAfterPublish:=False, он пишет «несоответствие типов»