Страницы: 1 2 След.
RSS
Не видно файлы при запуске макроса открытия
 
Добрый день! Подскажите, почему не видно файлы при запуске этого макроса? При обычном открытии через Файл-Открыть все файлы видны
Код
Sub NoColor()
    Dim sFolder As String, sFiles As String
    With Application.FileDialog(msoFileDialogFolderPicker)
        If .Show = False Then Exit Sub
        sFolder = .SelectedItems(1)
    End With
    sFolder = sFolder & IIf(Right(sFolder, 1) = Application.PathSeparator, "", Application.PathSeparator)
    sFiles = Dir(sFolder & "*.xlsb*")
    Do While sFiles <> ""
        Workbooks.Open sFolder & sFiles

        'Далее идут действия с файлом

     

Изменено: gerbera - 21.12.2016 17:03:44
 
gerbera, проверил - работает. В конце цикла sFiles = Dir есть?
 
Цитата
gerbera написал:
почему не видно файлы при запуске этого макроса?
Потому что это диалог выбора ПАПКИ, а не ФАЙЛОВ.
 
Казанский, да есть, но файлы я не вижу, и они не открываются ((
 
Юрий М, но макрос должен открывать все файлы в данной папке, но так как я их не вижу, они судя по всему и не открываются  
 
Цитата
gerbera написал:
макрос должен открывать все файлы в данной папке
Он и будет их все открывать ) И не важно - видите ли Вы их, или нет.
Вы не ответили на вопрос Казанского.
 
Цитата
gerbera написал: должен открывать все файлы в данной папке
не все, а только файлы с расширением ".xlsb"
Если таковых нет в папке - конечно ничего не откроет. И на всякий случай: надо учитывать, что код не просматривает подпапки.

А это требует отдельного разъяснения
Цитата
gerbera написал: но файлы я не вижу
Вы их в папке не видите или где?
Изменено: The_Prist - 28.12.2016 15:41:25
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Юрий М, на вопрос Казанского ответила в 14:27, что есть.
 
The_Prist, файлы у меня и есть с расширением *xlsb. И файлы не в подпапках. Запускаю макрос - открывается Обзор - выбираю нужную папку - далее макрос выдает ошибку на строчке, которая в моем примере указана последней. И я подумала, что раз файлов я там не увидела, может в этом причина, что они не открылись. При обычном открытии через Файл-Открыть я их вижу.
Изменено: gerbera - 28.12.2016 16:16:03
 
Может следует указать полный путь? Помнится, у меня такая же ошибка была )
 
Юрий М, так вроде макрос как раз должен предполагать любой путь, какой ему укажут в данный момент...
 
А в меню Окно видны файлы?
 
Цитата
gerbera написал:
макрос выдает ошибку на строчке, которая в моем примере указана последней
Тогда приведите текст ошибки или скрин. Скорее всего проблема в доступе к файлам и невозможности открыть их, а не в том, что код их не видит. Он видит, пытается открыть, но не может.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
А попробуйте так:
Код
Workbooks.Open sFolder & "\" & sFiles
 
Слеш там и так добавляется
Код
sFolder = sFolder & IIf(Right(sFolder, 1) = Application.PathSeparator, "", Application.PathSeparator)
 
Кузьмич, я ведь не просто так говорю: недавно писал макрос - у меня (ХР и 2010) всё работало. У заказчика (Win7 и 2013) на этой строке ошибка. Добавил слэш - всё заработало. И я не утверждаю, что именно из-за этого у gerbera проблема - всего лишь предлагаю попробовать.
 
Наверное надо посмотреть весь код, у меня эта часть кода работает нормально.
 
Цитата
Юрий М написал:
недавно писал макрос
Юра, если это то, что мы обсуждали в личке - то у тебя проблема была иной - куда-то исчез путь к файлам в строке открытия файла, что и вызывало ошибку. Здесь же что-то иное и надо ждать появления автора с текстом ошибки. Либо доступа нет к файлу, либо еще что-то.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Дим, я помню ) Но У МЕНЯ ведь работало! И при отладке у заказчика я видель ПОЛНЫЙ путь, но вываливалось в ошибку.
Согласен - ждём автора.
 
The_Prist, ошибка: "Run-time error '424': Object required"
 
Юрий М, слеш добавила, не помогло ((
 
В момент, когда ругается на ошибку, наведите мышку на переменные sFolder и sFiles (или в окне Locals) - какие значения у этих переменных?
 
Юрий М, sFolder = "C:\Users\... (адрес папки). sFiles = "имя первого файла в папке.xlsb"
 
Прилагаю весь код, суть открыть все файлы в папке и в ячейке J50 перекрасить цифру в белый цвет.
Код
Sub NoColor()
    Dim sFolder As String, sFiles As String
    With Application.FileDialog(msoFileDialogFolderPicker)
        If .Show = False Then Exit Sub
        sFolder = .SelectedItems(1)
    End With
    sFolder = sFolder & IIf(Right(sFolder, 1) = Application.PathSeparator, "", Application.PathSeparator)
    sFiles = Dir(sFolder & "*.xlsb*")
    Do While sFiles <> ""
        Workbooks.Open sFolder & sFiles
        Range ("J50").Select
        With Selection.Font
        .ThemeColor = xlThemeColorDark1
        .TintAndShade = 0
        End With
        ActiveWorkbook.Save
        ActiveWindow.Close
        sFiles=Dir
    Loop
End Sub

 
У меня в проблемном файле, о котором я говорил выше, заработало так (попробуйте поменять этот блок кода):
Код
    With Application.FileDialog(msoFileDialogFolderPicker)
        If .Show = False Then Exit Sub
        sFolder = .SelectedItems(1)
    End With
    Application.ScreenUpdating = False
    sFiles = Dir(sFolder & Application.PathSeparator & "*.xlsb*")
    Do While sFiles <> ""
        Workbooks.Open sFolder & "\" & sFiles
 
Если руками открываете этот файл - он открывается нормально? Имею ввиду открытие двойным щелчком по файлу.
Операционная система у Вас какая? Версия офиса?
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Юрий М, заменила, выдает ту же ошибку на той же строке
 
The_Prist, руками нормально открываю, а макросом не видит и другие файлы .xlsb, не только которые хочу открыть. Меняю расширение в коде, все равно не видит.
Офис 10. ОС Windows 7
Может действительно по безопасности закрыто, корпоративная ОС.
 
Тогда попробуйте вот так:
Код
Application.Workbooks.Open sFolder & "\" & sFiles,False
вдруг заработает.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Где пример файла? А то не видно где расположен этот код...
Страницы: 1 2 След.
Читают тему
Наверх