Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: Из Ворда Selection в Access Добавлено: 06.08.12 23:54  

Автор вопроса:  Zahar | Web-сайт: partnerka-ru.info
При помощи простой программки пользователь нажатием правой кнопки сохраняет данные, выделенные в вордовском документе, в базу данных Access:
Public WithEvents App As Word.Application
Private Sub App_WindowBeforeRightClick(ByVal Sel As Selection, Cancel As Boolean)
    Dim cn As New ADODB.Connection
    Dim rs As New ADODB.Recordset

        With cn
            .Provider = "Microsoft.Jet.OLEDB.4.0"
            .ConnectionString = "Data Source=C:\1.mdb"
            .Open
        End With
    rs.Open "SELECT * FROM Ranges", cn, adOpenStatic, adLockOptimistic
    rs.AddNew
    rs("Range") = Selection
    rs.UpdateBatch
    rs.Close
    cn.Close
End Sub


Но этот код сохраняет исключительно текстовое содержание.
Но мне надо, чтобы сохранялся текст со всем форматированием (выделение жирным. курсивом, цветом, размером и видом шрифта и т.д.). Как это реализовать и VBA в Word,

Ответить

  Ответы Всего ответов: 3  

Номер ответа: 1
Автор ответа:
 AxeL



ICQ: 264730390 

Вопросов: 2
Ответов: 106
 Профиль | | #1 Добавлено: 09.08.12 02:38
Форматирование само по себе не сохранится. Тебе нужно получить из Word'а стиль текста, а в access'е расширить табличку...
text(текстовое поле), bold(логическое), italic(логическое), color(числовое), kegel(числовое), font(текстовое), ...и т.д.

Ответить

Номер ответа: 2
Автор ответа:
 Zahar



Вопросов: 91
Ответов: 67
 Web-сайт: partnerka-ru.info
 Профиль | | #2
Добавлено: 10.08.12 23:27
Это подойдёт только в том случае, если выделен фрагмент текста с однородным форматированием. А если выделен выделена фраза "Петя съел Машу", в которой "Петя" написано жирным курсивом, "съел" - просто жирным, а "Машу" - просто курсивом?

Ответить

Номер ответа: 3
Автор ответа:
 AxeL



ICQ: 264730390 

Вопросов: 2
Ответов: 106
 Профиль | | #3 Добавлено: 13.08.12 04:02
В таком случае надо проверять каждое слово (или символ). Слова (символы) с одинаковым форматированием (и следующие подряд, естественно) - группируешь.
Таблица для групп текста(tbl_gr_text):
id, content, bold, italic, color, kegel, font
31, Петя, true, true, 0, 14, Arial
32, съел, true, false, 0, 14, Arial
33, Машу, false, true, 0, 14, Arial
Сводная таблица групп(tbl_groups):
id, id_groups
18, "31,32,33"
Запрос:
Select * From tbl_gr_text Where id In (Select * From tbl_groups Where id=18)
Примерно так должно выглядеть то, что ты хочешь...

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам