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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.05.2011, 22:07   #1
akellaukr
Пользователь
 
Регистрация: 22.05.2011
Сообщений: 12
По умолчанию Не работают Range, Row, Table

Всем привет!!! Очень надеюсь на вашу помощь…

Вообщем такая задача, необходимо, чтобы из документа word программка брала данные и заносила в базу данных, работаю в access…
Вообщем ругается в местах, где выделено жирным шрифтом… ну типа access не понимает range, table, row.. очень прошу помощи…
Заранее спасибо….
Dim appWord As Word.Application
Dim RngTables As Range
Dim Tbl As Table
Dim Rw As Row
Dim Rng As Range

Dim Stand As String, Pref As String
Dim Num As String, Nam As String, Descr As String, Mark As String, Exampl As String
Dim En As String, Fr As String, Ru As String, S As String
Dim i As Integer, n As Integer
Dim strsql, stroka, termstr As String
Dim ID_Term, St_id, Term_num, ua_Name, ua_def, ru_Name, ru_def, en_Name, fr_Name, de_Name, ShortVar, Comment, BadSyn, Sign, HarmonizedProj, Synonyms, Prymitka, Example, HarmonizedDefin As String

Set appWord = CreateObject("Word.Application")

With appWord
.Documents.Open FileName:="D:\..."

Stand = ActiveDocument.Bookmarks("Name").Ra nge
Pref = ActiveDocument.Bookmarks("Preface") .Range.Text

RngTables = ActiveDocument.Bookmarks("Table")
For Each Tbl In RngTables.Tables
For Each Rw In Tbl.Rows

Rng = Rw.Cells(0).Range
' Обробка першого абзацу
Num = Rng.Paragraphs(0).Range(start:=0, End:=7)
n = Rng.Paragraphs(0).Range.Characters. Count
Nam = Rng.Paragraphs(0).Range(start:=9, End:=n - 1)
' Обробка інших абзаців
n = Rng.Paragraphs.Count
For i = 1 To n - 1
S = Rng.Paragraphs(i).Range(start:=0, End:=6)
If S = "Приклад" Then
Exampl = Rng.Paragraphs(i).Range.Text
ElseIf S = "Примітк" Then
Mark = Rng.Paragraphs(i).Range.Text
Else
Descr = Rng.Paragraphs(i).Range.Text
End If
Next i
' Обробка третього стовпчика
Rng = Rw.Cells(2).Range
En = Rng.Paragraphs(0)
Fr = Rng.Paragraphs(1)
Ru = Rng.Paragraphs(2)
Next Rw
Next Tbl

End With
akellaukr вне форума Ответить с цитированием
Старый 23.05.2011, 03:10   #2
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Конечно, не понимает, т.к. ты не указал явно из какой библиотеки эти определения брать. Поскольку у тебя написано:
Код:
Dim appWord As Word.Application
то вордовскую библиотеку ты подключил. Значит объявлять нужно так:
Код:
 Dim RngTables As Word.Range
 Dim Tbl As Word.Table
 Dim Rw As Word.Row
 Dim Rng As Word.Range
Зачем создавать приложение через COM, если у тебя подключена библитека? Вместо
Код:
Set appWord = CreateObject("Word.Application")
Можно написать:
Код:
Set appWord = New Word.Application
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 24.05.2011, 18:47   #3
akellaukr
Пользователь
 
Регистрация: 22.05.2011
Сообщений: 12
По умолчанию

Спасибо большое за помощь, помогло...
Но у меня теперь еще одна проблема

Num = Rng.Paragraphs(0).Range(start:=0, End:=7)
n = Rng.Paragraphs(0).Range.Characters. Count
Nam = Rng.Paragraphs(0).Range(start:=9, End:=n - 1)

Пишет Wrong Number of arguments

Вообщем хотел проконсультироваться в чем проблема...

Здесь, наверняка есть еще ошибки, проверте пожалуйста...
akellaukr вне форума Ответить с цитированием
Старый 24.05.2011, 18:54   #4
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Абзацы нумеруются, начиная с 1, а не с нуля.
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
display:table-cell Внутри <table>. Padding не пашет. Kolik317 HTML и CSS 4 19.05.2011 21:05
Как обработать таблицу <table></table> и отобразить данные в программе? Человек_Борща Работа с сетью в Delphi 1 05.10.2010 15:42
нужна одно table где все rows from table 1 но и еще добавленных table 2 Why Помощь студентам 0 20.09.2010 10:29
Row/Col sizing в TStringGrid megachuhancer Общие вопросы Delphi 3 11.06.2010 09:08
DataGridView next row MAcK Общие вопросы .NET 3 10.03.2009 15:25