Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.11.2016, 13:20   #1
amadeus017
Форумчанин
 
Регистрация: 28.05.2014
Сообщений: 158
По умолчанию Открыть файл и выполнить в нем макрос

Добрый день!

Прошу помочь допилить макрос, чтобы нажав кнопку, можно было выбрать нужный файл, и запустить в нем макрос.
Есть макрос который нужно применить к файлу (код ниже), есть файл к которому будет применяться макрос (во вложении).
Нужен файл, который открывал бы нужный нам файл.

Код HTML:
Sub Tochka()
'
' Задать листу шрифт, масштаб, поменять точку на запятую, удалить пробел

    Cells.Select
    With Selection.Font
        .Size = 8
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ThemeColor = xlThemeColorLight1
        .TintAndShade = 0
        .ThemeFont = xlThemeFontNone
    End With
    ActiveWindow.Zoom = 80

  With Range("Q16", Cells(Rows.Count, "V").End(xlUp))
    .Replace What:=" ", Replacement:="", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    .Formula = .Formula
  End With

    
' Промежуточные итоги
    Range("J10:T10").Select
    With Selection
        .HorizontalAlignment = xlGeneral
        .VerticalAlignment = xlCenter
        .WrapText = False
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = True
    End With
    Selection.UnMerge
    Range("S10").Select
    ActiveCell.FormulaR1C1 = "=SUBTOTAL(9,R[6]C:R[4990]C)"

' Автофильтр
    Rows("15:15").Select
    Selection.AutoFilter

' Выровнить строки
    Cells.Select
    Cells.EntireRow.AutoFit

' Финансовый формат
    Range("Q:V").Select
    Selection.Style = "Comma"

End Sub
Вложения
Тип файла: xlsx Forum_Open_File.xlsx (20.5 Кб, 11 просмотров)
amadeus017 вне форума Ответить с цитированием
Старый 14.11.2016, 13:56   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Функция для вывода диалогового окна выбора файла
http://excelvba.ru/code/GetFileOrFolderPath

Код:
Function GetFilePath(Optional ByVal Title As String = "Выберите файл для обработки", _
                     Optional ByVal InitialPath As String = "c:\", _
                     Optional ByVal FilterDescription As String = "Книги Excel", _
                     Optional ByVal FilterExtention As String = "*.xls*") As String
    ' функция выводит диалоговое окно выбора файла с заголовком Title,
    ' начиная обзор диска с папки InitialPath
    ' возвращает полный путь к выбранному файлу, или пустую строку в случае отказа от выбора
    ' для фильтра можно указать описание и расширение выбираемых файлов
    On Error Resume Next
    With Application.FileDialog(msoFileDialogOpen)
        .ButtonName = "Выбрать": .Title = Title: .InitialFileName = InitialPath
        .Filters.Clear: .Filters.Add FilterDescription, FilterExtention
        If .Show <> -1 Then Exit Function
        GetFilePath = .SelectedItems(1): PS = Application.PathSeparator
    End With
End Function
 
Sub ПримерИспользования_GetFilePath()
     ИмяФайла = GetFilePath
    If ИмяФайла = "" Then Exit Sub    ' выход, если пользователь отказался от выбора файла
    MsgBox "Выбран файл: " & ИмяФайла, vbInformation
End Sub
EducatedFool вне форума Ответить с цитированием
Старый 14.11.2016, 15:35   #3
unick12345
Новичок
Джуниор
 
Регистрация: 08.02.2010
Сообщений: 1
По умолчанию

как пример. там пару ошибок есть, но уже посмотришь
Вложения
Тип файла: xls test.xls (43.0 Кб, 16 просмотров)
unick12345 вне форума Ответить с цитированием
Старый 14.11.2016, 16:22   #4
amadeus017
Форумчанин
 
Регистрация: 28.05.2014
Сообщений: 158
По умолчанию

[QUOTE=EducatedFool;1644674]Функция для вывода диалогового окна выбора файла
http://excelvba.ru/code/GetFileOrFolderPath

Доброго времени суток, EducatedFool!
Перед обращением на этот форум, я был на многих форумах, а так же на вашем форуме и видел эти коды. Некоторые из них, пробовал себе применить, но кроме того, как диалогового окна "Выбран файл: C:\Users\Forum_Open_File.xlsx", ничего не выдавалось, т.е. файл не открывался и в открытом файле, ниего не происходило. Вы предложили один из применяемых мною именно с Вашего форума Код. Не могу сообразить, что я не так делаю.
amadeus017 вне форума Ответить с цитированием
Старый 14.11.2016, 16:24   #5
amadeus017
Форумчанин
 
Регистрация: 28.05.2014
Сообщений: 158
По умолчанию

Цитата:
Сообщение от unick12345 Посмотреть сообщение
как пример. там пару ошибок есть, но уже посмотришь
Код не сработал. Файл не открылся, хотя запросил файл для открытия. Но все равно спасибо!
amadeus017 вне форума Ответить с цитированием
Старый 14.11.2016, 16:36   #6
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Цитата:
Сообщение от amadeus017 Посмотреть сообщение
Код не сработал. Файл не открылся, хотя запросил файл для открытия. Но все равно спасибо!
код сработал. Только от selectов надо избавиться
Вложения
Тип файла: xls Копия test.xls (46.5 Кб, 15 просмотров)
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
код, который должен открывать файл, находить в нем определенный символ и заменять его на другой, не записывает в файл Dima-War Общие вопросы C/C++ 2 14.12.2013 21:35
Oscar X7 !!? Или как создать в нем рабочий макрос. Bronver Софт 7 16.02.2013 00:19
Выполнить макрос в excel документе WennY Компоненты Delphi 1 22.02.2012 21:03
Открыть файл, разделить ячейку на 1000, сохранить файл, закрыть файл. Как? Ник Харди Microsoft Office Excel 7 30.01.2012 18:47
Как открыть из дельфи файл MS Word и выполнить в нем замены подстрок RusArtm Общие вопросы Delphi 9 05.06.2009 13:29