Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Изменение АВТОРА в свойствах файлов - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Изменение АВТОРА в свойствах файлов (Формулы/Formulas)
Изменение АВТОРА в свойствах файлов
izn Дата: Понедельник, 20.07.2015, 15:36 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 15
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Добрый день! Есть много файлов (более 2тыс) XLS и XLSX там есть в свойствах "автор". Можно ли автоматизировать изменение этого атрибута? Макросом или еще как то? :'(
 
Ответить
СообщениеДобрый день! Есть много файлов (более 2тыс) XLS и XLSX там есть в свойствах "автор". Можно ли автоматизировать изменение этого атрибута? Макросом или еще как то? :'(

Автор - izn
Дата добавления - 20.07.2015 в 15:36
Rioran Дата: Понедельник, 20.07.2015, 15:47 | Сообщение № 2
Группа: Авторы
Ранг: Ветеран
Сообщений: 903
Репутация: 290 ±
Замечаний: 0% ±

Excel 2013
izn, здравствуйте.

Можно через макрос, который будет перебирать все документы по-очереди и для каждого изменять встроенное свойство.

Кстати, таких свойств 2 - автор документа вообще ("BuiltinDocumentProperties(3)" в VBA) и автор, который последним документ изменял ("BuiltinDocumentProperties(7)").


Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279
 
Ответить
Сообщениеizn, здравствуйте.

Можно через макрос, который будет перебирать все документы по-очереди и для каждого изменять встроенное свойство.

Кстати, таких свойств 2 - автор документа вообще ("BuiltinDocumentProperties(3)" в VBA) и автор, который последним документ изменял ("BuiltinDocumentProperties(7)").

Автор - Rioran
Дата добавления - 20.07.2015 в 15:47
KSV Дата: Понедельник, 20.07.2015, 15:51 | Сообщение № 3
Группа: Друзья
Ранг: Ветеран
Сообщений: 770
Репутация: 255 ±
Замечаний: 0% ±

Excel 2013
Добрый день!
Можно так:[vba]
Код
Sub test()
     Dim p$, f$
      
     p = "Диск:\Путь к файлам\"
      
     f = Dir$(p & "*.xls*")
     Do While Len(f)
         With Workbooks.Open(p & f, False)
             .BuiltinDocumentProperties("Author") = "Новый автор"
             .Close True
         End With
         f = Dir$
     Loop
End Sub
[/vba]


KSV.VBA@gmail.com
Яндекс.Деньги: 410011921213333
 
Ответить
СообщениеДобрый день!
Можно так:[vba]
Код
Sub test()
     Dim p$, f$
      
     p = "Диск:\Путь к файлам\"
      
     f = Dir$(p & "*.xls*")
     Do While Len(f)
         With Workbooks.Open(p & f, False)
             .BuiltinDocumentProperties("Author") = "Новый автор"
             .Close True
         End With
         f = Dir$
     Loop
End Sub
[/vba]

Автор - KSV
Дата добавления - 20.07.2015 в 15:51
Samaretz Дата: Понедельник, 20.07.2015, 15:55 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 223
Репутация: 63 ±
Замечаний: 0% ±

Excel 2010; 2013; 2016
izn, сначала собираете все файлы в одну папку; после чего добавляете нижеприведенный макрос в какой-нибудь Excel-файл (можно пустой) и запускаете его - у Вас откроется окно с запросом выбора папки - выбираете ту папку, где у вас лежат вся эта куча файлов и через сколько-то времени у вас свойства файлов будут изменены (только в тексте макроса не забудьте поставить нужные Вам свойства).
Доступно только для пользователей


Сообщение отредактировал Samaretz - Понедельник, 20.07.2015, 15:58
 
Ответить
Сообщениеizn, сначала собираете все файлы в одну папку; после чего добавляете нижеприведенный макрос в какой-нибудь Excel-файл (можно пустой) и запускаете его - у Вас откроется окно с запросом выбора папки - выбираете ту папку, где у вас лежат вся эта куча файлов и через сколько-то времени у вас свойства файлов будут изменены (только в тексте макроса не забудьте поставить нужные Вам свойства).
Доступно только для пользователей

Автор - Samaretz
Дата добавления - 20.07.2015 в 15:55
Nic70y Дата: Понедельник, 20.07.2015, 16:23 | Сообщение № 5
Группа: Друзья
Ранг: Экселист
Сообщений: 8761
Репутация: 2273 ±
Замечаний: 0% ±

Excel 2010
Можно ли автоматизировать изменение этого атрибута?
можно! но не противозанно ли это?


ЮMoney 41001841029809
 
Ответить
СообщениеМожно ли автоматизировать изменение этого атрибута?
можно! но не противозанно ли это?

Автор - Nic70y
Дата добавления - 20.07.2015 в 16:23
krosav4ig Дата: Понедельник, 20.07.2015, 22:37 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
думается мне, что без открывания каждого файла в Excel'е будет как-то побыстрее.
для работы кода нужна библиотека DSOFile

[vba]
Код
Sub sdf()
      Dim strFolder$
r:  With Application.FileDialog(msoFileDialogFolderPicker)
          If .Show Then
              strFolder$ = .SelectedItems(1)
          ElseIf MsgBox("Ничего не выбрано. Повторить?", 36, "Ну так как?") = 6 Then
              GoTo r
          Else: Exit Sub
          End If
      End With
      Dim strFile$
      With CreateObject("DSOFile.OleDocumentProperties")
          strFile = Dir$(strFolder & "\*.xls*")
          Do While Len(strFile)
              .Open strFolder & "\" & strFile, , 2
              With .SummaryProperties
                  .Author = "Новый автор"
                  .lastsavedby = "Новый автор"
              End With
              .Save: .Close
              strFile = Dir$
          Loop
      End With
End Sub
[/vba]

[p.s.]дата изменения фалов при работе макроса будет заменяться на текущую системную, если она должна оставаться без изменений, то нужно будет потанцевать с бубном (WINAPI)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Понедельник, 20.07.2015, 22:44
 
Ответить
Сообщениедумается мне, что без открывания каждого файла в Excel'е будет как-то побыстрее.
для работы кода нужна библиотека DSOFile

[vba]
Код
Sub sdf()
      Dim strFolder$
r:  With Application.FileDialog(msoFileDialogFolderPicker)
          If .Show Then
              strFolder$ = .SelectedItems(1)
          ElseIf MsgBox("Ничего не выбрано. Повторить?", 36, "Ну так как?") = 6 Then
              GoTo r
          Else: Exit Sub
          End If
      End With
      Dim strFile$
      With CreateObject("DSOFile.OleDocumentProperties")
          strFile = Dir$(strFolder & "\*.xls*")
          Do While Len(strFile)
              .Open strFolder & "\" & strFile, , 2
              With .SummaryProperties
                  .Author = "Новый автор"
                  .lastsavedby = "Новый автор"
              End With
              .Save: .Close
              strFile = Dir$
          Loop
      End With
End Sub
[/vba]

[p.s.]дата изменения фалов при работе макроса будет заменяться на текущую системную, если она должна оставаться без изменений, то нужно будет потанцевать с бубном (WINAPI)

Автор - krosav4ig
Дата добавления - 20.07.2015 в 22:37
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Изменение АВТОРА в свойствах файлов (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!