Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
 Аватар для Deimos_
39 / 38 / 32
Регистрация: 24.11.2014
Сообщений: 352

Пользовательское изменение имени файла, для копировании в него данных

23.10.2015, 06:00. Показов 662. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток, в VBA я уже 10 дней и вот хотел узнать как прописать код что бы
пользователь сам выбирал имя файла в какой ему нужно вводить данные, и после этого он бы открывал файл этот.

Visual Basic
1
2
3
4
Windows("Отчет_01_10_2015").Activate.
 
'----------макрос, оформление--------
'и т.д.
Что бы я не изменял каждый месяц эти отчеты "Отчет_01_11_2015"... и не прописывал заного код в 6-ти строчках, а что бы макрос сам спрашивал, заменять его или нет.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.10.2015, 06:00
Ответы с готовыми решениями:

Программное изменение файла при копировании текущей БД
Доброго времени суток уважаемые форумчане! Все хорошо но вот 3-ий пункт что-то не срабатывает (при открытии файла все равно приходится...

Пользовательское приложение для базы данных
Доброго времени суток всем! Срочно нужна помощь. Создала базу данных на Denwer. Теперь нужна программная оболочка. Сколько искала, похожих...

Программа для создания файла и внесения в него данных
Уважаемые компьютерные гении, я начинающий ученик уже больше часа не могу написать действующую программу. Значит цель у неё такая":...

6
Ушел с CyberForum совсем!
874 / 183 / 25
Регистрация: 04.05.2011
Сообщений: 1,020
Записей в блоге: 110
23.10.2015, 07:49
Цитата Сообщение от Deimos_ Посмотреть сообщение
в VBA я уже 10 дней
поздравляю !!!
Цитата Сообщение от Deimos_ Посмотреть сообщение
пользователь сам выбирал имя файла в какой ему нужно вводить данные, и после этого он бы открывал файл этот.
откуда выбирал ? или просто вводил с клавиатуры или чтоб выводилось окно открытия файла со списком файлов в папке ?
Цитата Сообщение от Deimos_ Посмотреть сообщение
Что бы я не изменял каждый месяц эти отчеты "Отчет_01_11_2015"... и не прописывал заного код в 6-ти строчках, а что бы макрос сам спрашивал, заменять его или нет.
вам совсем не обязательно в каждый файл вставлять ваш эпический код из 6 строк, код реализующий оформительские телодвижения может находиться во внешнем файле. В экселе например можно поместить код в персональную книгу макросов, и этот код будет можно будет запустить в ЛЮБОЙ книге эксель.
В ворде так же можно разместить код в шаблоне, и в любом файле основанном на данном шаблоне можно будет запустить код
0
 Аватар для Deimos_
39 / 38 / 32
Регистрация: 24.11.2014
Сообщений: 352
23.10.2015, 16:11  [ТС]
Ок, скажу так
Пользователь заходит в excel нажимает на горячие клавиши или на кнопку макроса в панели(наверху)
Выходит окно(OpenFile Dialog) в котором уже можеш открыть файл для отчета, Вот тут и нужно вставить переменную для смены имени в коде где я указал выше.
И да макрос у меня всего на 984 строчки.
0
Ушел с CyberForum совсем!
874 / 183 / 25
Регистрация: 04.05.2011
Сообщений: 1,020
Записей в блоге: 110
23.10.2015, 16:27
Цитата Сообщение от Deimos_ Посмотреть сообщение
И да макрос у меня всего на 984 строчки.
очень продуктивно за 10 дней !
Цитата Сообщение от Deimos_ Посмотреть сообщение
Windows("Отчет_01_10_2015").Activate
эта строчка открывает один из уже открытых книг, правда в отдельном окне ! за какую переменную идет речь ?
0
 Аватар для Deimos_
39 / 38 / 32
Регистрация: 24.11.2014
Сообщений: 352
24.10.2015, 08:32  [ТС]
Цитата Сообщение от Surrogate Посмотреть сообщение
очень продуктивно за 10 дней !
эта строчка открывает один из уже открытых книг, правда в отдельном окне ! за какую переменную идет речь ?
Windows("Отчет_01_10_2015").Activate.
Я знаю что эта команда делает.
Как вот это воткнуть в переменную и что бы ПОЛЬЗОВАТЕЛЬ изменял её в OpenFile Dialog!

Добавлено через 1 минуту
Цитата Сообщение от Surrogate Посмотреть сообщение
очень продуктивно за 10 дней !
эта строчка открывает один из уже открытых книг, правда в отдельном окне ! за какую переменную идет речь ?
Лучше не пиши пусть другой кто нибудь ответит.
0
 Аватар для pashulka
4138 / 2242 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
24.10.2015, 10:05
Можно так :

Visual Basic
1
2
3
4
5
6
7
8
9
If Application.Dialogs(xlDialogOpen).Show = True Then
   With ActiveWorkbook
        MsgBox "Вы открыли " & .Name '.FullName
        'Здесь можно работать с открытой книгой
        'причём без всяких переменных
   End With
Else
   MsgBox "Вы отказались от выбора книги", vbCritical, ""
End If
Но если нужно получить имя выбранного файла ДО его открытия, то смотрите справку, касательно Application.GetOpenFilename или Application.FileDialog (Excel XP и старше), ибо там есть в т.ч. и готовые примеры.
1
 Аватар для Deimos_
39 / 38 / 32
Регистрация: 24.11.2014
Сообщений: 352
17.11.2015, 13:14  [ТС]
Проблема давно решена, времени небыло зайти сюда и отписаться
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Dim Path As String, P_OT As String
... 
...
...
If MsgBox("Выберите файл отчета", vbInformation + vbYesNo, "Выбор отчёта") = vbYes Then
        If FilesToOpen = Empty Then
        FilesToOpen = Application.GetOpenFilename("Excel files(*.xls*),*.xls*", , "Выберите файл отчёта", , True)
        If (Path <> "") Then
        Path = Dir(FilesToOpen(1))
        Else
        MsgBox ("Вы не выбрали ни одного файла пожайлуста повторите попытку")
        GoTo END_CODE:
        End If
        P_OT = ActiveWorkbook.Name
        '--------------------------------
        Windows(P_OT).Activate                                          '===Текуший файл от куда берутся данные для Отчета===
        '--------------------------------
        Else
        Range("A1").Select
        GoTo END_CODE:
        End If
    Else
    MsgBox ("Вы не выбрали ни одного файла пожайлуста повторите попытку")
    GoTo END_CODE:
    End If
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.11.2015, 13:14
Помогаю со студенческими работами здесь

Ввод имени файла для последующего чтения данных оттуда
Подскажите, пожалуйста, как исправить следующую проблему. Имеется IDE Visual Studio и некоторый проект. В проекте находится файл...

Копирование имени файла при клике на него мышью в Explorer-е
Здравствуйте! Мне надо сделать так, чтобы при клике мыши на какой либо файл в Explorerе, имя этого файла копировалась в текстовый файл или...

Изменение имени файла
У меня написан скрипт: #!/bin/bash echo &quot;$1&quot; echo &quot;$2&quot; echo &quot;$3&quot; if ; then find / -type f -name &quot;$1&quot; &gt; &quot;$2&quot; -exec stat {} \; ...

Изменение имени файла
Подскажите код который бы изменял у файла &quot;й&quot; на &quot;и&quot;, я нашел такую конструкцию в интрнете, но мб кто то уже пользовался чем то подобным? ...

Изменение имени файла
здравствуйте уважаемые форумчане! подскажите кто в курсе... заранее благодарю!!!!!! как добавить подстроку в середину имени файла? ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru