Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 08.02.2018
Сообщений: 3

Сохранение по имени из ячейки

08.02.2018, 08:41. Показов 771. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Sub macros1()
'
' macros1 macros
'
 
'
ChDir "\\Asu11-pc\e\schet"
Dim a
a = Sheets("List").[a17].Value
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:= _
        "\\Asu11-pc\e\schet" & a & ".pdf", Quality:=xlQualityStandard _
        , IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
        True
End Sub

Что не так? Причем если убрать
Visual Basic
1
 & a &
все работает, но результат неправильный. Нужно чтоб сохранялось по значению ячейки A17

Постоянно выдает 1004 - Возможно файл открыт или произошла ошибка при сохранении
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.02.2018, 08:41
Ответы с готовыми решениями:

Создание папки по имени ячейки
Здраствуйте, Подскажите, возможно ли с помощью VBA создать папку с именем ячейки? Как это лучше всего сделать? Добавлено через...

Открытие листа по имени ячейки
Здравствуйте! Такая задача Есть таблица с названием листов, в соседнем столбце значения. Необходимо занести значения в каждый из...

Макрос - имя листа по имени ячейки
Господа, помогите нубу:) Вот в чем вопрос: 1. Нужно что бы имя листа менялось по имени ячейки. я находил подобный макрос, но...имя...

6
Заблокирован
08.02.2018, 08:47
davidoff22, при копировании кода включайте RU-раскладку клавиатуры.
Цитата Сообщение от davidoff22 Посмотреть сообщение
Нужно чтоб сохранялось по значению ячейки A17
а написали
Цитата Сообщение от davidoff22 Посмотреть сообщение
a = Sheets("Ñ÷åò").[a16].Value
0
0 / 0 / 0
Регистрация: 08.02.2018
Сообщений: 3
08.02.2018, 09:19  [ТС]
Нет нет, все отредактировал в сообщении, все указано верно, спасибо... не понимаю что не работает(((

Добавлено через 30 минут
Неужели никто не понимает ошибку?((( 3 дня голову ломаю - ничего не работает...
0
Динохромный
1637 / 774 / 288
Регистрация: 22.12.2015
Сообщений: 2,420
08.02.2018, 11:40
Цитата Сообщение от davidoff22 Посмотреть сообщение
Неужели никто не понимает ошибку?((( 3 дня голову ломаю - ничего не работает...
Да, информации Вы привели крайне мало.
Цитата Сообщение от davidoff22 Посмотреть сообщение
Нужно чтоб сохранялось по значению ячейки A17
Что конкретно вписано в эту самую ячейку А17?
Цитата Сообщение от davidoff22 Посмотреть сообщение
выдает 1004 - Возможно файл открыт или произошла ошибка при сохранении
Соответственно - есть ли у вас право записи по указанному сетевому пути "\\Asu11-pc\e\schet", нет ли ситуации, что файл с потребным Вам именем уже существует и открыт кем-то по сети, "schet" - это папка или маска названия файла (соответственно не должен ли ваш сетевой путь включать в себя заключительный слэш "\\Asu11-pc\e\schet\")? Что будет, если сохранять этим методом ваш файл на локальный диск?
Цитата Сообщение от davidoff22 Посмотреть сообщение
все работает, но результат неправильный.
Что работает и какой результат получается?
0
0 / 0 / 0
Регистрация: 08.02.2018
Сообщений: 3
08.02.2018, 11:46  [ТС]
Итак, по порядку -

по итогу построили вот такой код

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Sub макрос()
   
    Dim FileName As String
  
    FileName = Sheets("Счет").[a17].Value
 
    Range(ActiveSheet.PageSetup.PrintArea).ExportAsFixedFormat Type:=xlTypePDF, FileName:= _
        "\\Asu11-pc\e\Счета за проживание гостям\" & FileName & ".pdf", Quality:= _
        xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
        OpenAfterPublish:=True
       
End Sub
Задача: в А17 - простая надпись без формул "счет 1 от 01.01.0001"
при выполнении макроса должно происходить сохранение области печати в формате .pdf в путь \\Asu11-pc\e\Счета за проживание гостям\ с именем из A17
область печати задана, все диски и разрешения проверены миллион раз несколькими людьми.
на некоторых компьютерах работает. Принципиально запустить на компьютере, на котором не работает.

причем вот такой код
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Sub Макрос2()
'
' Макрос2 Макрос
'
 
'
    ChDir "\\Asu11-pc\e\Счета за проживание гостям"
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:= _
        "\\Asu11-pc\e\Счета за проживание гостям\Выставить счет.pdf", Quality:= _
        xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
        OpenAfterPublish:=True
End Sub
работает без проблем

в чем беда? Помогите, а то я сойду с ума(((
0
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
08.02.2018, 14:29
Нужен пример файла.
0
35 / 32 / 15
Регистрация: 23.12.2014
Сообщений: 97
08.02.2018, 15:10
Цитата Сообщение от davidoff22 Посмотреть сообщение
в чем беда?
Попробуйте перед вашим кодом вставить
Visual Basic
1
2
3
4
If Dir("\\Asu11-pc\e\Счета за проживание гостям\", vbDirectory) = "" Then
        MsgBox "Такого диска не существует"
        Exit Sub
End If
И поубирайте/подобавляйте пути к папкам для сервера \\Asu11-pc в контрольных запусках, причем если на 1 строчке выскочит исключение 52 - то это реально закрыт доступ к данной папке, разбирайтесь с IT-шниками...

Цитата Сообщение от davidoff22 Посмотреть сообщение
Visual Basic
1
ChDir "\\Asu11-pc\e\Счета за проживание гостям"
Почему Вы в первом примере не используете эту команду смены рабочего каталога?

Кроме того, при попытке смены папки на еще не существующую ChDir работать не будет. Перед сменой директории Вам необходимо ее создать. Хотя, судя по второму примеру, папка на удаленном компьютере существует...
Попробуйте создавать PDF на локальном компьютере, а затем пересылать созданый файл на удаленный компьютер...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.02.2018, 15:10
Помогаю со студенческими работами здесь

Имя книги excel по имени ячейки
Добрый день уважаемые программисты ! В программировании я ни бум-бум, поэтому прошу у Вас помощи. Нужен простой макрос который будет...

Использование ячейки, как имени каталога
Здравствуйте. Возникла такая задача, есть ячейка с сложным заполнением результат выглядит так. t1 - 211.2 м2 - Двухэтажный -...

Изменение имени файла в зависимости от значений ячейки
Здравствуйте, Проблемы в следующем: Необходимо менять имя файла при сохранении, в зависимости от значений в ячейке А1. Пробую вот так ...

Сравнить файлы по имени и переименовать по значению из ячейки
Добрый вечер! Прошу помощи чайнику в написании скрипта. Сам не справлюсь. В фиксированной директории есть два типа документов c...

Прописывание имени столбца в зависимости от цвета ячейки
Привет все. Интересует как сделать так, чтобы прописывалось автоматически имя столбца в котором присутствует цветная ячейка в столбец B....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru