Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2015.10.25;
Скачать: [xml.tar.bz2];

Вниз

Картинки в таблицу Word   Найти похожие ветки 

 
MisterX   (2014-05-26 13:42) [0]

Всем привет!
Прошу вашей помощи. Нужно картинку image1 вставить в ячейку (1,1) таблицы Ворд нажав кнопочку! Потом другую картинку image1 в ячейку (1,2)! Потом следующую картинку в ячейку (3,1) и т.д.
Помогите пожалуйста, как можно это реализовать.
Заранее благодарю!


 
sniknik ©   (2014-05-26 13:47) [1]

> Помогите пожалуйста, как можно это реализовать.
универсально, для офиса, переведя созданный "руками" макрос.

Sub Макрос3()
"
" Макрос3 Макрос
" Макрос записан 26.05.2014 ws-131
"
   ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=2, NumColumns:= _
       5, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _
       wdAutoFitFixed
   With Selection.Tables(1)
       If .Style <> "Сетка таблицы" Then
           .Style = "Сетка таблицы"
       End If
       .ApplyStyleHeadingRows = True
       .ApplyStyleLastRow = True
       .ApplyStyleFirstColumn = True
       .ApplyStyleLastColumn = True
   End With
   Selection.InlineShapes.AddPicture FileName:= _
       "C:\Documents and Settings\xxxx\Мои документы\Мои рисунки\3123142.JPG" _
       , LinkToFile:=False, SaveWithDocument:=True
End Sub


 
sniknik ©   (2014-05-26 13:52) [2]

+
раз уж фигурирует "таблица" то лучше использовать excel.


 
MisteX   (2014-05-26 14:27) [3]

Нужно чтоб автоматически вставлялась картинка


 
sniknik ©   (2014-05-26 14:33) [4]

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

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


 
MisteX   (2014-05-26 14:35) [5]

я знаю как одну картинку вставить!


 
sniknik ©   (2014-05-26 14:39) [6]

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


 
oldman ©   (2014-05-26 14:40) [7]


> sniknik ©   (26.05.14 13:47) [1]


Не трать время...
http://delphimaster.net/view/2-1400830587/


 
sniknik ©   (2014-05-26 14:42) [8]

;(


 
MisteX   (2014-05-26 14:49) [9]

sniknik, а если у тебя 200 картинок?


 
junglecat   (2014-05-26 14:55) [10]

> если у тебя 200 картинок?

надо 200 раз сделать ctrl+c / ctrl+v кода из [1]


 
MisteX   (2014-05-26 14:59) [11]

oldman с ACol и ARow понятно. Как забить переменную чтоб получилась то что нужно?

procedure TForm1.Button2Click(Sender: TObject);
begin
for i:=0 to 100 do
for j:=0 to 1 do
begin
ClipBoard.Assign(Image1.Picture);
App.ActiveDocument.Tables.Item(1).Cell(i,j).Selection.Paste;
end;
end;

Начало верное?


 
MisteX   (2014-05-26 15:00) [12]

junglecat а если Вы не знаете сколько их будет?


 
sniknik ©   (2014-05-26 15:02) [13]

> sniknik, а если у тебя 200 картинок?
плевать. программируешь любой алгоритм вставки (нормально с параметрами, а не хардкодя позиции ячеек), + цикл на n-раз... хотя не, n мало, m раз!


 
sniknik ©   (2014-05-26 15:08) [14]

> Начало верное?
нет, "хардкод" картинки, ее тоже нужно менять, и лучше из файла ([1]) а не клипборда.


 
MisteX   (2014-05-26 15:17) [15]

блондинкой себя чувствую:(


 
MisteX   (2014-05-26 15:21) [16]

procedure TForm1.Button2Click(Sender: TObject);
i,j,N:Integer;
begin
for i:=0 to N do
for j:=0 to 1 do
begin

end;
end;

Как вставить картинку в ячейку (1,1) например? Всего 2 столбца, 5 строк


 
sniknik ©   (2014-05-26 15:39) [17]

примерно так (код написан прямо здесь без проверки)
for i:=0 to N do
 for j:=0 to 1 do
   App.ActiveDocument.Tables.Item(1).Cell(i,j).InlineShapes.AddPicture(FileName:= MakeFileName(i,j)+".JPG", LinkToFile:=False, SaveWithDocument:=True);

твоя функция MakeFileName - тут по i, j должно определятся имя вставляемого файла. зависимость должна быть, если нету сделай ее.


 
sniknik ©   (2014-05-26 15:40) [18]

упс Selection случайно вырезал... ну неважно.


 
MisteX   (2014-05-26 15:47) [19]

Видел другую тему, там некий SkyWalker писал. Что-то подобное нужно.
То есть что я уже сделал:
в комбобокс выбираю имя файла, на имэйж1 появляется соответсвующая картинка.
и вот ее нужно при помощи Button1 вставить в ячейку 1,1 например.
потом выбираю в комбо другое имя файла, на имэйдж появляется соответствующая картинка, тык Button, она в ячейке 1,2.
и т.д.
Вот как это сделать?
Или у меня лыжи не едут?:)


 
sniknik ©   (2014-05-26 15:58) [20]

Palladin ©   (23.05.14 18:03) [45]
> Бездарная потеря времени.
+1


 
MisteX   (2014-05-26 16:02) [21]

почему?:(


 
sniknik ©   (2014-05-26 16:08) [22]

"показания" меняются по ходу. то нужен список, то уже по одному выбирать (а как же про 200-раз? + одну то говорил можешь, и в чем теперь проблема? вот оно выбор всегда по одной...).
не реализуемо.
есть единственный вариант, но никто на него не согласен - нанять программиста. ОЧЕНЬ дорого, т.к. такая же непоследовательность будет и в ТЗ.


 
MisteX   (2014-05-26 16:33) [23]

блин((( думал здесь помогут(((
Спасибо большое всем:) в таком случае не буду заморачиваться)))


 
sniknik ©   (2014-05-26 16:47) [24]

> блин((( думал здесь помогут(((
здесь именно что помогают, с конкретными проблемами/неясностями, а делать предполагается должен все таки автор.
ты же явно думал о чем-то другом, т.к. на помощь не реагировал, ждал чего-то другого.

> в таком случае не буду заморачиваться)))
хэпи энд.
и вам не хворать.


 
brother ©   (2014-05-26 17:01) [25]

[19] ага, это ты и есть... и комбобоксы и ворд, все как у него и у Вас) ...


 
Inovet ©   (2014-05-26 18:47) [26]

> [5] MisteX   (26.05.14 14:35)
> я знаю как одну картинку вставить!

Это ты третий раз за месяц говоришь. Допустим, знаешь. Тогда в чём проблема вставить несколько неняя в цикле координаты (номер) ячейки? С диска получить нужные файлы? Тогда см функции
FindFirst
FindNext
FindClose
Пример есть в справке.


 
Inovet ©   (2014-05-26 18:48) [27]

> [26] Inovet ©   (26.05.14 18:47)
> Это ты

В смысле - тот Скайвокер и ты говорите.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2015.10.25;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.51 MB
Время: 0.003 c
3-1305619583
Aybolit
2011-05-17 12:06
2015.10.25
SQL в BDE


15-1425850205
Юрий
2015-03-09 00:30
2015.10.25
С днем рождения ! 9 марта 2015 понедельник


15-1426049877
SKIPtr
2015-03-11 07:57
2015.10.25
выполнить действие в зависимости от подключения к интернету


15-1425895679
Kerk
2015-03-09 13:07
2015.10.25
Книги даром (СПб)


2-1401108070
IceBeerg
2014-05-26 16:41
2015.10.25
EnumChildWindows дает только 1й элемент





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский