Страницы: 1
RSS
Экспорт из Xls в Txt с возможностью выбора папки и имени будущего Txt
 
Здравствуйте, уважаемые форумчане.
Прошу помочь исправить макрос экспорта. Он работает - создаёт в текущей папке файл-txt с заранее заданным именем и копирует в него столбец A:A.
Но нужно, чтобы перед созданием Txt выбор папки и имя файла-txt задавал пользователь. Диалоговое окно в виде проводника (а не в виде адресной строки) открывало текущую папку, из которой пользователь мог бы переместиться в нужную папку, а потом указать имя будущего txt-файла. После чего в этот файл скопируются данные из столбца A:A активного листа.
 
Здравствуйте.
Так можно
Скрытый текст
 
Здравствуйте.
Можно. Это почти то, что нужно.
Только надо, чтобы первоначально макрос предлагал не Мои документы, а ТЕКУЩУЮ папку (в которой находится файл xls.).
Изменено: Chelovek - 08.03.2022 06:02:26
 
Цитата
doober написал:
.InitialFileName = ""
=ThisWorkbook.Path
 
Не имя файла задавалось по имени текущей папки.
А для размещения файла чтобы ОТКРЫВАЛАСЬ Текущая папка (так звучит вопрос).
(Ваш код по умолчанию открывает папку Мои документы. Приходится в дебрях разыскивать сперва Текущую папку. А это не совсем рядом).
Изменено: Chelovek - 08.03.2022 11:18:59
 
Цитата
Chelovek написал:
Не имя файла задавалось по имени текущей папки.
А где вы увидели имя файла по имени текущей папки?
 
а попробовать прежде, чем писать
или подсказки не катят - только готовый полностью работающий код?
Изменено: Ігор Гончаренко - 08.03.2022 11:35:50
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Пробовал и так, и сяк. В одной из попыток получилось так. Не знаю куда подставлять эту запись [=ThisWorkbook.Path].
Народ. Просто покажите код полностью. Не говорите загадками.
Изменено: Chelovek - 08.03.2022 11:38:35 (Дополнение.)
 
не нужно так и сяк в программировании не так много места для маневров
может так будет понятно:
вместо
.InitialFileName = ""
используйте
.InitialFileName = ThisWorkbook.Path
Chelovek, - это звучит гордо (С)М.Горький
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Я не программист.
Я заменил запись
.InitialFileName = ""
на
.InitialFileName = ThisWorkbook.Path
Результат - открывает корневой каталог жёсткого диска (а не Текущую папку) и предлагает имя файла = имени текущей папки.
То и другое несовместимо с моей задачей.
Изменено: Chelovek - 08.03.2022 11:53:00 (Дополнение)
 
А у вас сам файл лежит в облаке?
 
Изменено: _Igor_61 - 08.03.2022 23:00:10
 
,
Не в облаке. Файл я держу на жёстком диске D:\Excel\Макросы\Экспорт.xlsm
 
тогда это похоже на троллинг
или
с вашим компьютером происходит что-то мистическое
тогда крестный ход с крестами, хоругвями и песнопениями могут исправить ситуацию, и само собой - окропление святой водой компьютера и оператора
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Код
.InitialFileName = ThisWorkbook.Path & "\"
 
Ігор Гончаренко
Для примера посылаю файл - Именно с таким кодом, как мне советовали (с заменой как написано в сообщении №10).
Там же, внутри файла, и скрины с результатом работы кода.
Я вполне готов согласиться, что такая ерунда происходит ТОЛЬКО у меня, а у других нет.
 
МатросНаЗебре
Ну вот. А Ваша поправка разрешила разом обе проблемы. Теперь всё работает именно так, как было описано в #1.
Большое спасибо и doober за его код, и МатросНаЗебре за существенную поправку.
Посылаю файл. В нём также скрин с обозначением - чего именно недоставало в коде doober.
Страницы: 1
Наверх