Excel это не сложно
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
29.03.2024, 12:01:16

Войти
Интересные и полезные статьи по работе с Excel и VBA можно найти в разделе ХИТРОСТИ
33 233 Сообщений в 5 454 Тем от 6 750 Пользователей
Последний пользователь: Alex1210
*
Перейти на сайт Хитрости Надстройка MulTEx Обучающие тренинги Наша группа ВКонтакте
Правила форума Начало Помощь Поиск Календарь Войти Регистрация Выйти
  Просмотр сообщений
Страниц: 1 [2] 3 4
16  Основные форумы / Вопросы по Excel и VBA / Re:Как открыть файл, опираясь только на его расширение? : 08.02.2018, 15:20:23
Скидываю 2 файла как пример (только вместо .xml будет .xlsx), но суть одна: возможность вместо MindMap (Excel) использовать разные названия.
17  Основные форумы / Вопросы по Excel и VBA / Re:Как открыть файл, опираясь только на его расширение? : 08.02.2018, 13:39:23
Фактически, нужно скомбинировать эти 2 макроса. У меня открытие файла начинается с 15-ой строки:
Код: (vb)
Workbooks.Open Filename:=ThisWorkbook.Path & "\MindMap (Excel).xml"

В Вашем коде, как я понимаю, с 10-ой:
Код: (vb)
Workbooks.Open sFolder & sFiles


У меня получилось нечто подобное:
Код: (vb)
Sub Только_тип_файла()
Dim sFolder As String, sFiles As String
Dim f As String
f = ActiveWorkbook.Name
'диалог запроса выбора папки с файлами
sFolder = ThisWorkbook.Path
sFolder = sFolder & IIf(Right(sFolder, 1) = _
Application.PathSeparator, "", Application.PathSeparator)
'отключаем обновление экрана, чтобы наши действия не мелькали
Application.ScreenUpdating = False
sFiles = Dir(sFolder & "*.xml*")
Do While sFiles <> ""
 'открываем книгу
 Workbooks.Open sFolder & sFiles
 'действия с файлом
 Sheets("FreeMind Sheet").Copy After:=Workbooks(f).Sheets(1)
 Windows(sFiles).Activate 'активируем вспомогательный ф-л
 ActiveWorkbook.Close SaveChanges:=False 'закрываем его без сохранения
 Windows(f).Activate 'активируем целевую книгу
 Sheets("Скрипт").Select
 ActiveWorkbook.Save
 'Закрываем книгу с сохранением изменений
 ActiveWorkbook.Close True 'если поставить False - книга будет закрыта без сохранения
 sFiles = Dir
Loop
'возвращаем ранее отключенное обновление экрана
Application.ScreenUpdating = True
End Sub


Ну, конечно же, это ...  ;D
Помогите, пожалуйста, довести до ума  Плачущий

18  Основные форумы / Вопросы по Excel и VBA / Re:Как открыть файл, опираясь только на его расширение? : 08.02.2018, 13:18:04
The_Prist, Вы мне скинули очень хороший макрос: он довольно обобщённый, и его, действительно, можно применять в различных случаях. Вы мне подсказали как его изменить под мой случай с 1-ой папкой. Получилось:
Код: (vb)
Sub Get_All_File_from_Folder()
    Dim sFolder As String, sFiles As String
    sFolder = ThisWorkbook.Path
    sFolder = sFolder & IIf(Right(sFolder, 1) = Application.PathSeparator, "", Application.PathSeparator)
    'отключаем обновление экрана, чтобы наши действия не мелькали
    Application.ScreenUpdating = False
    sFiles = Dir(sFolder & "*.xls*")
    Do While sFiles <> ""
        'открываем книгу
        Workbooks.Open sFolder & sFiles
        'действия с файлом
        'Запишем на первый лист книги в ячейку А1 - www.excel-vba.ru
        ActiveWorkbook.Sheets(1).Range("A1").Value = "www.excel-vba.ru"
        'Закрываем книгу с сохранением изменений
        ActiveWorkbook.Close True 'если поставить False - книга будет закрыта без сохранения
        sFiles = Dir
    Loop
    'возвращаем ранее отключенное обновление экрана
    Application.ScreenUpdating = True
End Sub
19  Основные форумы / Вопросы по Excel и VBA / Re:Как открыть файл, опираясь только на его расширение? : 08.02.2018, 13:05:50
Суть этого макроса в том, чтобы, выполнив его, удалялся 2-ой лист открытой книги и вместо него вставлялся новый из файла с расширением .xml Т.е. программа открывает файл с расширением .xml, копирует от туда лист (он там один), закрывает этот файл и вместо 2-го листа открытой книги вставляет новый (как я понимаю, удаляет 2-ой лист открытой книги и вставляет новый), т.е. как бы обновляет.
20  Основные форумы / Вопросы по Excel и VBA / Re:Как открыть файл, опираясь только на его расширение? : 08.02.2018, 12:58:36
Не могу немного разобраться. У меня есть один макрос (где-то в интернете его нашёл, сам я очень поверхностный деятель в этом направлении):
Код: (vb)
Sub Новая_карта()
Dim f As String
Dim e As Worksheet
For Each e In Worksheets
 If e.Name = "FreeMind Sheet" Then
  Application.DisplayAlerts = False
  Sheets("FreeMind Sheet").Delete 'удаление листа
  Application.DisplayAlerts = True
 End If
Next e
Filename = "MindMap (Excel).xml"
'f - название текущей (целевой) книги (в данном случае - "Телемаркетинг.xlsm")
f = ActiveWorkbook.Name
'Открываем ф-л, из которого надо копировать (вспомогательный ф-л)
Workbooks.Open Filename:=ThisWorkbook.Path & "\MindMap (Excel).xml"
'Копируем лист и вставляем в целевую книгу после 1-го листа.
'(в данном случае - после листа "Скрипт")
Sheets("FreeMind Sheet").Copy After:=Workbooks(f).Sheets(1)
Windows("MindMap (Excel).xml").Activate 'активируем вспомогательный ф-л
ActiveWorkbook.Close SaveChanges:=False 'закрываем его без сохранения
Windows(f).Activate 'активируем целевую книгу
Sheets("Скрипт").Select
ActiveWorkbook.Save
End Sub
21  Основные форумы / Вопросы по Excel и VBA / Re:Как открыть файл, опираясь только на его расширение? : 08.02.2018, 11:12:44
Спасибо большое!
22  Основные форумы / Вопросы по Excel и VBA / Re:Как открыть файл, опираясь только на его расширение? : 08.02.2018, 10:20:46
Извините, всё понятно стало!  Улыбка
23  Основные форумы / Вопросы по Excel и VBA / Re:Как открыть файл, опираясь только на его ра : 08.02.2018, 09:27:12
Благодарю за ответ, The_Prist!

Ещё до конца не разбирался, но смысл как бы понятен (надо вникать в код). Интуитивно предполагаю, что если поместить эти 2 файла: с которым работаю (который с макросом и уже открыт) и вспомогательный (который надо открывать) в одну папку, что-то упростится. Это так? Т.е. в этой папке будет всего 2 файла.
24  Основные форумы / Вопросы по Excel и VBA / Как открыть файл, опираясь только на его расширение? : 08.02.2018, 01:40:40
Здравствуйте, уважаемые пользователи форума! Вы мне во многом помогали! Желаю всем счастья и низкий вам поклон! Раньше я получил ответ на вопрос как сделать так, чтобы программа открывала файл в том же месте, где находится текущий открытый файл Excel, в котором ведётся работа. Ответ получил:
Код: (vb)
Workbooks.Open Filename:=ThisWorkbook.Path & "\MindMap (Excel).xml"


Теперь появилась потребность открывать тот же файл, независимо от его названия (MindMap (Excel).xml или MM (Ex) (проба).xml и т.д.), опираясь только на расширение .xml, с помощью макроса в текущем открытом файле Excel. Он находится в той же папке, что и вспомогательный файл, который нужно периодически открывать, и является единственным на ноутбуке с таким расширением. Возможно ли это?

Благодарю всех, прочитавших тему!
25  Основные форумы / Вопросы по Excel и VBA / Re:Как сделать, чтобы горячие клавиши макроса не зависели от раскладки клавиатуры? : 02.02.2018, 00:39:39
The Prist, ты прав: ошибка возникает только когда закрывается файл с включенной русской клавиатурой. Скопировал и вставил твой код...  Шокирован И всё работает! ,👏👏👏
 Благодарен от всего сердца! Ты так много для меня сделал!

Всем повышаю рэйтинг! Вы молодцы: делаете доброе дело!
26  Основные форумы / Вопросы по Excel и VBA / Re:Как сделать, чтобы горячие клавиши макроса не зависели от раскладки клавиатуры? : 31.01.2018, 00:44:39
Забейте на это!)))
27  Основные форумы / Вопросы по Excel и VBA / Re:Как сделать, чтобы горячие клавиши макроса не зависели от раскладки клавиатуры? : 31.01.2018, 00:38:45
Всё равно ошибка сейчас вылезла. Но, в принципе, это не беда: нажимаю End. Хотело бы для эстетики, чтобы этого не было.
28  Основные форумы / Вопросы по Excel и VBA / Re:Как сделать, чтобы горячие клавиши макроса не зависели от раскладки клавиатуры? : 30.01.2018, 22:39:38
Хотя, кто раньше ответит, рэйтинг повышу тоже!  Улыбка
29  Основные форумы / Вопросы по Excel и VBA / Re:Как сделать, чтобы горячие клавиши макроса не зависели от раскладки клавиатуры? : 30.01.2018, 22:34:52
pton, через час снова тебе повышу рэйтинг (раньше программа не пропускает), спасибо, что откликаешься! Можешь прокомментировать мой последний пример: правильно ли я сделал. Хотелось бы какой-то эстетики кода с помощью профессионала. Улыбка
30  Основные форумы / Вопросы по Excel и VBA / Re:Как сделать, чтобы горячие клавиши макроса не зависели от раскладки клавиатуры? : 30.01.2018, 22:28:32
Огромное спасибо! Сделал, как ты сказал:
Код: (vb)
Private Sub Workbook_Open()
 On Error Resume Next
 Application.OnKey "^d", "Скрипт"
 On Error Resume Next
 Application.OnKey "^в", "Скрипт"
End Sub

Всё правильно?
Страниц: 1 [2] 3 4
Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2011, Simple Machines Valid XHTML 1.0! Valid CSS!
Яндекс.Метрика Рейтинг@Mail.ru