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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.04.2010, 16:08   #1
Shlyapnik
Пользователь
 
Регистрация: 10.03.2010
Сообщений: 11
По умолчанию Заполнение программно вкладку "Сводка"

Подскажите пожалуйста, как программно на VBA можно задавать теги вкладки "сводка" xlsx файла? А именно очень интересует "Комментрарий" и "Название"

Shlyapnik вне форума Ответить с цитированием
Старый 22.04.2010, 16:36   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Код:
Sub ПримерИспользования_FillWorkbookPropertiesForForums()
    FillWorkbookProperties ActiveWorkbook, "Название", "Тема", "Автор", "Ключевые Слова", , "EducatedFool", , "Компания"
End Sub


Sub FillWorkbookProperties(ByRef wb As Workbook, _
                           Optional ByVal Title As String = vbNullString, Optional ByVal Subject As String = vbNullString, _
                           Optional ByVal Author As String = vbNullString, Optional ByVal Keywords As String = vbNullString, _
                           Optional ByVal Template As String = vbNullString, Optional ByVal LastAuthor As String = vbNullString, _
                           Optional ByVal Manager As String = vbNullString, Optional ByVal Company As String = vbNullString)
    On Error Resume Next
    MyComment = "http://excelvba.ru/" & vbNewLine & _
                "Разработка макросов любой сложности " & "для Excel, Word, CorelDRAW" & vbNewLine

    With wb.BuiltinDocumentProperties
        If Len(Title) Then .Item(1) = Title
        If Len(Subject) Then .Item(2) = Subject
        If Len(Author) Then .Item(3) = Author
        If Len(Template) Then .Item(4) = Template
        .Item(5) = MyComment
        If Len(LastAuthor) Then .Item(7) = LastAuthor
        If Len(Manager) Then .Item(20) = Manager
        If Len(Company) Then .Item(21) = Company
    End With
End Sub
EducatedFool вне форума Ответить с цитированием
Старый 22.04.2010, 19:59   #3
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

А если нужно сделать то же самое, но без открытия файла, нужно воспользоваться библиотекой dsofile.dll. Пример приведён здесь. Это очень полезно, если нужно менять свойства многих файлов сразу.
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 23.04.2010, 11:49   #4
Shlyapnik
Пользователь
 
Регистрация: 10.03.2010
Сообщений: 11
По умолчанию

Спасибо всем, то что нужно.
Shlyapnik вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как программно запускать "Дефрагментация дисков" на Windows XP kenta Общие вопросы Delphi 2 29.11.2009 20:12
Заполнение "шапки" документа в xls через Access sahtheey Microsoft Office Access 7 05.10.2009 13:00
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04
программно создать объект "image" (Visual Basic 6.0) Da$aD Gamedev - cоздание игр: Unity, OpenGL, DirectX 5 09.05.2008 18:19