Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Выполнение макроса Excel 2003 в 2007 / 8 сообщений из 8, страница 1 из 1
13.04.2011, 18:40
    #37215063
DUDALS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение макроса Excel 2003 в 2007
Доброе время суток. Имеется следующий код в макросе Excel 2003. Как сделать его выполнение в 2007 и выше? Куда копать?

Код: 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.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
Dim objFSO As FileSystemObject
Dim objFile As File
Dim intNum As Integer 'Количество файлов
Dim strNameFile As String 'Имя файла
Dim strDataSozdania As String ' Дата создания
Dim strObemzSozd As String ' Объем созданного файла
Dim strDataRedakt As String 'Дата редактирования
Dim strObemRedakt As String 'Объем редактированного файла
Dim i As Integer, iP As Integer 'Переменные для цикла
Dim r As Integer, rP As Integer 'Переменные для цикла
'Dim nI As Integer, nDirectory As Integer
Dim sFileName As String 'Имя файла
Dim sStartPath As String 'Начальный каталог


Private Sub CommandButton1_Click()
    If ActiveWorkbook.Application.Version > "11.0" Then
        MsgBox "Для работы программы должен быть установлен Microsoft Office 2003 или меньше."
        Exit Sub
    End If
    Set objFSO = New FileSystemObject
    'Путь к файлу
    sStartPath = Application.ActiveWorkbook.Path & "\"
    Call PrintTextToTabl
End Sub

Sub PrintFile()
    Range("A" & iP).Select
    ActiveCell.FormulaR1C1 = rP & "." 
    Range("C" & iP).Select
    ActiveCell.FormulaR1C1 = sFileName 
    Range("D" & iP).Select
    ActiveCell.FormulaR1C1 = strDataSozdania 
    If strDataSozdania <> strDataRedakt Then
        Range("E" & iP).Select
        ActiveCell.FormulaR1C1 = strObemzSozd 
        Range("F" & iP).Select
        ActiveCell.FormulaR1C1 = strDataRedakt 
        Range("G" & iP).Select
        ActiveCell.FormulaR1C1 = strObemRedakt 
    Else
        Range("E" & iP).Select
        ActiveCell.FormulaR1C1 = strObemzSozd 
    End If
 
     Range("A" & iP & ":I" & iP).Select
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With
    With Selection.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With
    With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With
    With Selection.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With
    With Selection.Borders(xlInsideVertical)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With
    With Selection.Borders(xlInsideHorizontal)
    End With
iP = iP +  1 
rP = rP +  1 
End Sub


Sub PrintTextToTabl()
With Application.FileSearch
  .LookIn = sStartPath
  .SearchSubFolders = True
  .FileType = msoFileTypeAllFiles
If .Execute >  0  Then
    If MsgBox("Продолжить заполнение внутренней описи идалив имеющиеся данные?", vbQuestion + vbDefaultButton2 + vbYesNo, "Всего найденных файлов : " & .FoundFiles.Count & ".") = vbYes Then
    'Ощищаем таблицу
    Range("A7:I3500").Select
    Selection.ClearContents
    Range("A7:I3500").Select
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    Selection.Borders(xlEdgeLeft).LineStyle = xlNone
    With Selection.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With
    Selection.Borders(xlEdgeBottom).LineStyle = xlNone
    Selection.Borders(xlEdgeRight).LineStyle = xlNone
    Selection.Borders(xlInsideVertical).LineStyle = xlNone
    Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
            iP =  7 
            rP =  1 
        For i =  1  To .FoundFiles.Count
            Set objFile = objFSO.GetFile(.FoundFiles(i))
            ' вывод имен файлов
               sFileName = objFile.Name
                If sFileName <> "Внутренняя опись.xls" Then
                    strDataSozdania = Format(objFile.DateCreated, "DD.MM.YY")
                    strObemzSozd = objFile.Size
                    strDataRedakt = Format(objFile.DateLastModified, "DD.MM.YY")
                    strObemRedakt = objFile.Size
                    'заносим в таблицу
                    Call PrintFile
                End If
        Next i
    End If
Else
        MsgBox "Не найдено подходящих файлов"
End If
        Exit Sub
        MsgBox "Формирование описи завершено!" & vbCrLf & "Внесено - " & rP -  1  & " файлов.", vbInformation + vbOKOnly, "Поздравляю ;)"
End With
End Sub

...
Рейтинг: 0 / 0
13.04.2011, 18:51
    #37215093
DUDALS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение макроса Excel 2003 в 2007
Сам файл
...
Рейтинг: 0 / 0
13.04.2011, 19:05
    #37215115
Shamanus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение макроса Excel 2003 в 2007
DUDALS,

для начала исправьте
Код: plaintext
1.
2.
ActiveWorkbook.Application.Version > "11.0" 
на 
ActiveWorkbook.Application.Version > "12.0"

А дальше по обстоятельствам
...
Рейтинг: 0 / 0
13.04.2011, 21:02
    #37215227
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение макроса Excel 2003 в 2007
DUDALS,

кроме тега SRC еще есть тег spoiler.
...
Рейтинг: 0 / 0
14.04.2011, 09:36
    #37215720
DUDALS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение макроса Excel 2003 в 2007
Сори за spoiler.
Shamanus,
В том то и дело, что я специально пока вставил ограничитель версии экселя. В 2007 выдает ошибку.
Ой. И еще раз прошу прощения. Пароль на макрос 1186710
Вопрос остается в силе
...
Рейтинг: 0 / 0
14.04.2011, 09:51
    #37215743
NullUzer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение макроса Excel 2003 в 2007
ShamanusDUDALS,

для начала исправьте
Код: plaintext
1.
2.
ActiveWorkbook.Application.Version > "11.0" 
на 
ActiveWorkbook.Application.Version > "12.0"

А дальше по обстоятельствам

Код: plaintext
ActiveWorkbook.Application.Version >= "12.0"
...
Рейтинг: 0 / 0
14.04.2011, 09:55
    #37215755
NullUzer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение макроса Excel 2003 в 2007
NullUzer,

Или можно:
Код: plaintext
Val(Application.Version) >=  12 
...
Рейтинг: 0 / 0
14.04.2011, 10:18
    #37215787
Shamanus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение макроса Excel 2003 в 2007
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Выполнение макроса Excel 2003 в 2007 / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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