|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
24.12.2011, 18:13 | #1 |
Форумчанин
Регистрация: 21.10.2011
Сообщений: 433
|
сохранение файла под именем, состоящим из содержимого двух ячеек
Макрос сохраняет файл, при этом в качестве имени берет содержимое ячейки S14. Вот фрагмент:
FName = o.Range("S14") Как сделать так, чтобы к содержимому S14 добавлялось через дробь или тире содержимое ячейки A15? Туплю...... |
24.12.2011, 18:26 | #2 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Код:
|
24.12.2011, 18:49 | #3 |
Форумчанин
Регистрация: 21.10.2011
Сообщений: 433
|
Сложил. Вот весь кусок кода:
Dim FName As String, o As Worksheet Const FPath = "C:\Basis\Basis EUR\Zahlungserinnerung\" Set o = Sheets("Zahlungserinnerung") If Not o Is Nothing Then FName = o.Range("S14") & "\" & o.Range("A15") ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=FPath & FName, _ Quality:=xlQualityMinimum, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False If Err.Number = 1004 Then MsgBox Application.DisplayAlerts = False Range("A23:V23").Select Application.CutCopyMode = False Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Sheets("Zahlungserinnerung").Copy ActiveWorkbook.SaveAs Filename:=FPath & FName ActiveWorkbook.Close False Application.DisplayAlerts = True End If Подсвечивает желтым параметры сохранения и выдает ошибку "1004" |
24.12.2011, 19:12 | #4 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
откуда ж нам знать, что у вас находится в ячейках o.Range("S14") и o.Range("A15")...
Наверняка, формируемое имя некорректно. Какая версия Excel? Попробуйте написать в коде так: Код:
Подпапка o.Range("S14") уже существует в папке FPath на момент запуска макроса? Может, вы пытаетесь поместить файл в несуществующую папку? PS: Зачем выбирать такой вырвиглазный цвет для выделения текста? Вы сами-то видите на экране выделенный код? |
24.12.2011, 19:26 | #5 |
Форумчанин
Регистрация: 21.10.2011
Сообщений: 433
|
Извиняюсь за цвет. Исходный код был такой:
Dim FName As String, o As Worksheet Const FPath = "C:\Basis\Basis EUR\Zahlungserinnerung\" Set o = Sheets("Zahlungserinnerung") If Not o Is Nothing Then FName = o.Range("S14") ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=FPath & FName, _ Quality:=xlQualityMinimum, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False If Err.Number = 1004 Then MsgBox "Canceled" Application.DisplayAlerts = False Range("A23:V23").Select Application.CutCopyMode = False Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Sheets("Zahlungserinnerung").Copy ActiveWorkbook.SaveAs Filename:=FPath & FName ActiveWorkbook.Close False Application.DisplayAlerts = True End If Это когда имя файла бралось по значению ячейки S14. Значение ячейки поставляется из другого листа. Все работало. Все пути прописаны правильно, каталоги на месте. Апробировано неоднократно. Версия 2007. Но вот, когда вместо FName = o.Range("S14") вставил FName = o.Range("S14") & "\" & o.Range("A15") выдало ошибку. |
25.12.2011, 04:01 | #6 |
Форумчанин
Регистрация: 21.10.2011
Сообщений: 433
|
Ошибка возникла из-за "/". Не воспринимает в имени файла этот символ. Заменил на тире. Все заработало.
|
25.12.2011, 13:28 | #7 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Ну конечно - в имени файла слэш быть не может, у Вас имя файла - o.Range("A15"), а o.Range("S14") & "\" - это каталог выше.
Его сперва нужно создать, затем уже сохранять файл по пути (упростил) C:\Basis\Basis EUR\Zahlungserinnerung\o.Range("S14 ")\o.Range("A15")
webmoney: E265281470651 Z422237915069 R418926282008
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Суммирование диапазона по условиям состоящим в свою очередь из двух и более признаков | alexsampler | Microsoft Office Excel | 5 | 23.08.2011 01:52 |
Сохранение файлов с именем с нумерацией 001,002,... | artemavd | Общие вопросы Delphi | 5 | 26.04.2011 11:41 |
Сохранение рабочей книги с именем, представляющим собой текущую дату | YJYNGK | Microsoft Office Excel | 2 | 30.10.2010 21:12 |
поиск и сохранение под другим именем | fitc | Общие вопросы Delphi | 3 | 17.07.2009 18:50 |