vba - How do I paste into the second column of a table? -
i'm writing macro microsoft word 2007. macro supposed make n x 2 table , insert 1 photo selected every cell. instead, put 2 photos per cell in first column , none in second column.
with application.activedocument dim mytable word.table set myrange = activedocument.content activewindow.view.tablegridlines = true set mytable = .tables.add(range:=myrange, numrows:=fix((num / 2) + 0.5), numcolumns:=2) = 1 num orow = fix((i / 2) + 0.5) ' if (i mod 2) = 1 ocol = 1 if (i mod 2) = 0 ocol = 2 mytable.cell(orow, ocol).select set pic = .inlineshapes.addpicture(filename:=sdir(i), linktofile:=false, savewithdocument:=true) pic .lockaspectratio = msofalse .height = inchestopoints(2.25) .width = inchestopoints(3) end selection.collapse next end
do this:
dim tblcell word.cell
because it's easier work typed variables, readability , intellisense:
set tblcell = mytable.cell(orow, ocol) set pic = tblcell.range.inlineshapes.addpicture(filename:=sdir(i), linktofile:=false, savewithdocument:=true) pic .lockaspectratio = msofalse .height = inchestopoints(2.25) .width = inchestopoints(3) end
an explanation:
in debugging, did:
i tried replacing "set pic
.inlineshapes.addpicture...end with
,selection.typetext ("hi")
which should work, since you're working directly selection
insert text. had qualified activedocument
(you begin code with activedocument
)
.inlineshapes.addpicture(...
still seems odd method used did not work. when did in 2010, puts pictures in first cell only.
Comments
Post a Comment