Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / word-excel / 17 сообщений из 17, страница 1 из 1
21.04.2011, 12:04
    #37226324
PlanB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
word-excel
добрый денть!
напомните, пожалуйста, можно ли тянуть данные из excel в word встроенными средствами, или же для этого нужно писать код vba?
в любом случае - пример, пожалуйста, простейшей связки: автообновляемая таблица в ворде с данными из excel
спасибо
...
Рейтинг: 0 / 0
21.04.2011, 13:50
    #37226608
Stepler
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
word-excel
PlanB,

Если идет речь о "ручном" обновлении вставленной табл. Экселя в Ворд как "объекта", то следует войти в объект как изменение его и "Правка-Связи-Обновить"....
...
Рейтинг: 0 / 0
21.04.2011, 14:14
    #37226679
PlanB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
word-excel
SteplerPlanB,

Если идет речь о "ручном" обновлении вставленной табл. Экселя в Ворд как "объекта", то следует войти в объект как изменение его и "Правка-Связи-Обновить"....ну, задумка какая: программно создается шаблон, cword связанный с excel. туда падают данные из excel. как сделать просто и качественно?
...
Рейтинг: 0 / 0
21.04.2011, 14:50
    #37226815
word-excel
PlanB,
в Экселе скопировать диапазон, в Ворде Правка - Специальная вставка
...
Рейтинг: 0 / 0
21.04.2011, 14:54
    #37226834
word-excel
Поторопился. Так будет работать только до закрытия файла Эксель
...
Рейтинг: 0 / 0
21.04.2011, 15:09
    #37226875
Stepler
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
word-excel
пробуй камнем,

Даже при открытом файле Экселя такое работать не должно...
Я исчо раньше убеждался, что обновления лучше тока вручную и при ентом делать ссылку на ячейку/диапазон Экселя (а не пробуй камнемв Экселе скопировать диапазон, в Ворде Правка - Специальная вставка) типа:
Код: plaintext
='\\Oz-3\d$\[Нормы на металл.xls]Лист3'!B5

а далее, как говорил раньше...
...
Рейтинг: 0 / 0
21.04.2011, 16:23
    #37227057
word-excel
Stepler,
Даже при открытом файле Экселя такое работать не должно...Но работает. Данные не обновляются только если выбрать тип вставки "Word Hyperlink". Со всеми остальными типами, включая "Точечный рисунок", как ни уивительно, но обновление происходит.
...
Рейтинг: 0 / 0
21.04.2011, 16:29
    #37227074
PlanB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
word-excel
господа, небольшой офф
поделитесь строкой подклюсения и самим запросом к sql-серваку из excel. вместо динозавра, записанного макрорекордером, хотелось бы что-то более жизнеспособное получить


Код: 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.
Sub Ìàêðîñ 1 ()

'
    Sheets("CS_balance").Select
    With ActiveWorkbook.Connections( _
        "M2010012000501_SQLEXPRESS Bank_RUR balance201005").OLEDBConnection
        .BackgroundQuery = True
        .CommandText = Array("""Bank_RUR"".""sys_anl"".""balance201005""")
        .CommandType = xlCmdTable
        .Connection = Array( _
        "OLEDB;Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=True;Data Source=M2010012000501\SQLEXPRESS;Use Procedure for " _
        , _
        "Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=M2010012000501;Use Encryption for Data=False;Tag with column colla" _
        , "tion when possible=False;Initial Catalog=Bank_RUR")
        .RefreshOnFileOpen = False
        .SavePassword = False
        .SourceConnectionFile = _
        "C:\Users\...\Documents\Ìîè èñòî÷íèêè äàííûõ\M2010012000501_SQLEXPRESS Bank_RUR balance201005.odc"
        .SourceDataFile = ""
        .ServerCredentialsMethod = xlCredentialsMethodIntegrated
        .AlwaysUseConnectionFile = False
        .ServerFillColor = False
        .ServerFontStyle = False
        .ServerNumberFormat = False
        .ServerTextColor = False
    End With
    With ActiveWorkbook.Connections( _
        "M2010012000501_SQLEXPRESS Bank_RUR balance201005")
        .Name = "M2010012000501_SQLEXPRESS Bank_RUR balance201005"
        .Description = ""
    End With
    With ActiveSheet.ListObjects.Add(SourceType:= 0 , Source:=Array( _
        "OLEDB;Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=True;Data Source=M2010012000501\SQLEXPRESS;Use Procedure for " _
        , _
        "Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=M2010012000501;Use Encryption for Data=False;Tag with column colla" _
        , "tion when possible=False;Initial Catalog=Bank_RUR"), Destination:=Range( _
        "$A$1")).QueryTable
        .CommandType = xlCmdTable
        .CommandText = Array("""Bank_RUR"".""sys_anl"".""balance201005""")
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod =  0 
        .PreserveColumnInfo = True
        .SourceConnectionFile = _
        "C:\Users\...\Documents\Ìîè èñòî÷íèêè äàííûõ\M2010012000501_SQLEXPRESS Bank_RUR balance201005.odc"
        .ListObject.DisplayName = _
        "Òàáëèöà_M2010012000501_SQLEXPRESS_Bank_RUR_balance201005"
        .Refresh BackgroundQuery:=False
    End With
End Sub
...
Рейтинг: 0 / 0
21.04.2011, 16:29
    #37227075
PlanB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
word-excel
сам запрос такой:
Код: plaintext
select * from sys_anl.balance201005
...
Рейтинг: 0 / 0
27.04.2011, 09:22
    #37235138
PlanB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
word-excel
что-то по основной теме я, конечно, написал
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Sub CopyFromWord()
Dim wdApp As Object
Dim wdDoc As Object

Set wdApp = CreateObject("Word.Application")
With wdApp
    .Visible = True
    Set wdDoc = .Documents.Add()
End With

ThisWorkbook.Worksheets("Analytical_balance").Range("A5:K65").Copy
wdApp.Selection.PasteExcelTable False, False, False

wdDoc.Close
wdApp.Quit

Set wdDoc = Nothing
Set wdApp = Nothing
End Sub
НО: мне нужно создать след. структуру документа:
в заранее подготовленный шаблон повставлять таблички (разного размера) в определенные места (иежду таблицами текст)
...
Рейтинг: 0 / 0
27.04.2011, 10:26
    #37235255
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
word-excel
PlanB,

Не так давно делал заказ, так там точь-в-точь тоже самое требовалось: подставить в шаблон Word таблицы из Excel(точнее это была часть необоходимого). Таблицы в шаблоне были заранее вставлены и имели фиксированные заголовки. Путем перебора таблиц в Excel я подставлял их в Word.
Могу поделиться наработкой через личку - может пригодится чего.
...
Рейтинг: 0 / 0
27.04.2011, 13:09
    #37235641
PlanB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
word-excel
The_Prist, отписал
...
Рейтинг: 0 / 0
03.05.2011, 17:09
    #37244150
PlanB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
word-excel
подскажите, пожалуйста, как прописать код таким образом, чтобы в таблицу ворда вставлялись только значение. дело в том, что у меня пропадает форматирование при вставке (проценты дробями и т.д.)

код такой
Код: 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.
Sub CopyFromWord()
Dim wdApp As Object
Dim wdDoc As Object
Dim i, j As Integer
'Dim wdDoc As Document


Set wdApp = CreateObject("Word.Application")
Set wdDoc = wdApp.Documents.Open(Filename:="C:\Users\skutenko\Desktop\Øàáëîí Âîðäà.docx")

wdApp.Visible = True
'Manipulate
With wdDoc.Tables( 1 )
    For i =  1  To  65 
        For j =  1  To  5 
            .Cell(i +  1 , j +  2 ) = ThisWorkbook.Worksheets("Analytical_balance").Cells(i +  5 , j +  6 )
        Next j
    Next i
End With




wdDoc.Close
wdApp.Quit

Set wdDoc = Nothing
Set wdApp = Nothing
End Sub
...
Рейтинг: 0 / 0
03.05.2011, 17:14
    #37244166
PlanB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
word-excel
и моя традиционная рубрика "ответы на свои же вопросы":
Код: plaintext
.Cell(i +  1 , j +  2 ) = ThisWorkbook.Worksheets("Analytical_balance").Cells(i +  5 , j +  6 ).Text
...
Рейтинг: 0 / 0
05.05.2011, 11:33
    #37246887
PlanB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
word-excel
и снова по теме
с таблицами всё ясно: заполняются на ура. а как мне организовать прочедуру внедрения текста в определенное место документа?

спасибо!
...
Рейтинг: 0 / 0
05.05.2011, 13:44
    #37247263
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
word-excel
PlanB ,

А в моем примере такое было: банальные закладки Word-а могут помочь. Распихиваете их в любое место документа, а из Excel ссылаетесь на них и вставляете любой текст какой вздумается.
...
Рейтинг: 0 / 0
05.05.2011, 14:12
    #37247364
PlanB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
word-excel
The_Prist PlanB ,

А в моем примере такое было: банальные закладки Word-а могут помочь. Распихиваете их в любое место документа, а из Excel ссылаетесь на них и вставляете любой текст какой вздумается.да, я ознакомился. спасибо ещё раз за него!
просто подумал, что может быть иной способ. по Вашему методу уже работа идет =)))
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / word-excel / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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