Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Автоматический перенос данных в таблицу Exel / 8 сообщений из 8, страница 1 из 1
26.02.2006, 14:41:47
    #33565777
Loll
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматический перенос данных в таблицу Exel
В теме /topic/260231&hl=
есть приблизительный необходимый мне код, но он не работает. Выдает run-time error 1004 "Нет доступа к файлу". Спотыкается на этой строке:
Workbooks.Open Filename:=ActiveWorkbook.Path+"\\"+.FoundFiles(j), ReadOnly:=True

Задачка у меня такая: сделать так чтобы запуская макрос я указывала папку и оттуда брались некоторый файлы, причем определенные файлы, желательно по шаблону мне надо исключить.
А потом скопировать с первого листа каждой книги первую строку(там могут быть и объединенные яцейки), а со второго листа все его содержимое. Все это должно помещаться последовательно сверху вниз.
...
Рейтинг: 0 / 0
28.02.2006, 05:04:09
    #33569415
Loll
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматический перенос данных в таблицу Exel
Ну что? Никто не знает как написать код без ошибки? мда...
...
Рейтинг: 0 / 0
28.02.2006, 09:39:02
    #33569686
HandKot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматический перенос данных в таблицу Exel
Loll Спотыкается на этой строке:
Workbooks.Open Filename:=ActiveWorkbook.Path+"\"+.FoundFiles(j), ReadOnly:=True


Loll
Задачка у меня такая: сделать так чтобы запуская макрос я указывала папку и оттуда брались некоторый файлы...

так тогда надо писать правильный путь
Код: plaintext
Workbooks.Open Filename:=ВыбраннаяВамиДиректория+"\"+ИмяФайла, ReadOnly:=True

если я чего не понял, приведите кусок кода
...
Рейтинг: 0 / 0
01.03.2006, 06:41:16
    #33572345
Loll
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматический перенос данных в таблицу Exel
Сам код здесь /topic/260231&hl=
Просто там тема что-то зависла :( А в вашем варианте получается что у меня постоянно будет одна и та же папка, а нужно чтобы вылезал месседж бокс с запросом.
...
Рейтинг: 0 / 0
08.03.2006, 08:34:13
    #33587958
Loll
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматический перенос данных в таблицу Exel
Гм.. Мой вопрос слишком сложен или слишком легок?
...
Рейтинг: 0 / 0
08.03.2006, 18:21:10
    #33588311
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматический перенос данных в таблицу Exel
Ни то, ни другое :)
Макрос запрашивающий каталог очень прост и короток. Но...
В общем примерно так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Sub aaaa()
     Dim oShell as Object, oFolder as Object

     Set oShell = CreateObject("Sheel.Application")
     Set oFolder = oShell.BrowseForFolder( 0 , "Where is my files?",  0 )
     Set oShell = Nothing
     If oFolder is Nothing Then
         ' user cancel dialog, nothing were selected
         Exit Sub
     End If

     ' add your code here
     Worksheets( 1 ).Range("A1").Value = "Selected folder is:"
     Worksheets( 1 ).Range("A2").Value = oFolder
 
    Set oFolder = Nothing
End Sub
...
Рейтинг: 0 / 0
09.03.2006, 16:49:47
    #33590499
Loll
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматический перенос данных в таблицу Exel
ммм... акцентирую внимание на том что я очень мало смыслю с програмированиии... мне нужно просто вот этот код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
set ShA=ActiveSheet
i= 1 
With Application.FileSearch
    .LookIn = ActiveWorkbook.Path
    .Filename = "shablon*.xls"
    If .Execute >  0  Then
     for j= 1  to .FoundFiles.Count
       Workbooks.Open Filename:=ActiveWorkbook.Path+"\"+.FoundFiles(j), ReadOnly:=True
       ShA.Cells(i, 1 ).Value=ActiveSheet.Cells( 1 , 1 ).Value
       ActiveWorkbook.Close
       i=i+ 1 
     next
    else
     MsgBox("Не найдены файлы по шаблону!")
    End If
End With
Привести в человеческий вид, а последний приведенный макрос просто позволяет выбрать папку и копирует ее имя в ячеку :(
...
Рейтинг: 0 / 0
10.03.2006, 10:00:53
    #33591738
HandKot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматический перенос данных в таблицу Exel
примерно так
Код: plaintext
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.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
Function getFolder()
     Dim oShell As Object, oFolder As Object

     Set oShell = CreateObject("Shell.Application")
     Set oFolder = oShell.BrowseForFolder( 0 , "Where is my files?",  0 )
     Set oShell = Nothing
     If oFolder Is Nothing Then
         ' user cancel dialog, nothing were selected
         Exit Function
     End If

     ' add your code here
     getFolder = oFolder.self.Path
     
    Set oFolder = Nothing
End Function
Sub FilesSearch()
       
    strFolder = getFolder
    
    If strFolder = "" Then Exit Sub
    
    Set ShA = ActiveSheet
    i =  1 
    
    With Application.FileSearch
        .LookIn = strPath
        .Filename = "shablon*.xls"
        If .Execute >  0  Then
            For j =  1  To .FoundFiles.Count
                Workbooks.Open Filename:=ActiveWorkbook.Path + "\" + .FoundFiles(j), ReadOnly:=True
                ShA.Cells(i,  1 ).Value = ActiveSheet.Cells( 1 ,  1 ).Value
                ActiveWorkbook.Close
                i = i +  1 
            Next
        Else
            MsgBox ("Íå íàéäåíû ôàéëû ïî øàáëîíó!")
        End If
    End With
End Sub
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Автоматический перенос данных в таблицу Exel / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]