Are you sure the document in ->Open() exists ?
The tokens must be hyperlinks not just text.
poj
| [reply] [d/l] |
my $doc = $MSWord->Documents->Open('C:/temp/hyper.docm') or
die $!;
As far as the document: my "hyper.docm" was just a very simple test document I created.
This is text
This is hyperlink.
This is text
this is another hyper.
... then on "hyperlink" and "another hyper", I used Word to create hyperlinks (to wherever), saved, and exited.
If you trust me1 , you could run this script to replicate my .docm exactly.
use warnings;
use MIME::Base64;
use open IN => ':raw', OUT => ':raw';
open $DOCM, '>', "hyper.docm" || die $!;
binmode $DOCM;
local $/;
print $DOCM decode_base64(<DATA>);
__DATA__
UEsDBBQABgAIAAAAIQCR5+O5fgEAAIoFAAATAAgCW0NvbnRlbnRfVHlwZXNdLnhtbCCiBA
+IooAAC
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAC0
lE9Lw0AQxe+C3yHsVZJtPYhIUw9ajypYwet2M2kX9x8702q/vbNtDVJaK1YvgWTmvd/bZT
+KD63dn
iwUkNMHXol/1RAFeh8b4aS2ex3flpSiQlG+UDR5qsQQU18PTk8F4GQELVnusxYwoXkmJeg
+ZOYRUi
eK60ITlF/JqmMir9qqYgz3u9C6mDJ/BUUvYQw8EttGpuqRi98+d1kgQWRXGzbsysWqgYrd
+GKuC4X
vtmilBtCxcpVD85MxDNuEHInIVf2Aza6B76aZBooHlWie+W4S76F1Mgm6LljZfW9Tc7psM
+ySqpM4
pVMYeTWxwFVl/GfKXTQ9RwruxVlpCNxjChH7P4BuXU5oW6OhS9CZZj9IZKC7qb0nRlpawK
+PR2Sum
oAGRZ8zZau17GA9ELPiPABvngxHeYPL0bym+mB8M0jJ3nMfn72N01gdDEP/rsH4eP5Arm+
++Q3Lma
fd4d6RfH/lwOWV3GHw19R2Tro88Hee800Oxgy9UmHX4AAAD//wMAUEsDBBQABgAIAAAAIQ
+AekRq3
7wAAAE4CAAALAAgCX3JlbHMvLnJlbHMgogQCKKAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArJLBasMwDEDvg/2D0b1R2sEYo04vY9
+DbGNkH
CFtJTBPb2GrX/v082NgCXelhR8vS05PQenOcRnXglF3wGpZVDYq9Cdb5XsNb+7x4AJWFvK
+UxeNZw
4gyb5vZm/cojSSnKg4tZFYrPGgaR+IiYzcAT5SpE9uWnC2kiKc/UYySzo55xVdf3mH4zoJ
+kx1dZq
SFt7B6o9Rb6GHbrOGX4KZj+xlzMtkI/C3rJdxFTqk7gyjWop9SwabDAvJZyRYqwKGvC80e
+p6o7+n
xYmFLAmhCYkv+3xmXBJa/ueK5hk/Nu8hWbRf4W8bnF1B8wEAAP//AwBQSwMEFAAGAAgAAA
+AhAIpe
YkA3AQAADQUAABwACAF3b3JkL19yZWxzL2RvY3VtZW50LnhtbC5yZWxzIKIEASigAAEAAA
+AAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAA1JQ7T8MwFIV3JP5D5J04KVAQatIFkDqwQJBY3eTmof
+gR2bek
+feYljSpWiIGL4z32PecT9ePxXIruPcJ2lRKRiT0A+KBTFVWySIi78nz1T3xDDKZMa4kRK
+QDQ5bx
5cXiFThD22TKqjGedZEmIiVi80CpSUsQzPiqAWlXcqUFQ1vqgjYsrVkBdBYEc6rHHiQ+8v
+RWWUT0
KrP5SdfAX7xVnlcpPKp0I0DimQiKthesIdMFYER25V4MfWtG6HmGa5cMBhDtdM2A0StTCH
+cuEXIl
MWFrPhrFQZqCmDmdA3YcxlPY1VPxocv4dGNQiQ+bdiDw/UGlFYKYvBRzlzSlddK8kvVA82
+Pbtq3/
vSaUrPdu/ZYXldn0py2CluxXzNv/gXnjErOF9dvJKxuJ/bHSo08s/gIAAP//AwBQSwMEFA
+AGAAgA
AAAhAHYiXdARAwAAfQsAABEAAAB3b3JkL2RvY3VtZW50LnhtbNSWW2/aMBTH3yftO0R5L0
+7SQNuo
UK2la/swCQ32PBnHEIv4IttA2affcS6EEq0KdHuYhJLYPv6d/znHF27vXnnubag2TIqhH/
+YC36OC
yJSJ5dD/Mft6ce17xmKR4lwKOvR31Ph3o8+fbrdJKsmaU2E9QAiTbBUZ+pm1KkHIkIxybH
+qcES2N
XNgekRzJxYIRirZSpygKwqD4UloSagz4e8Big41f4chrN1qq8RYmO2CMSIa1pa8NIzwZ0k
+c36LoN
is4AQYRR2EZdnowaIKeqBYrPAoGqFql/HqkVHG8vAamogMGF1BxbaOol4liv1uoCwApbNm
+c5sztg
BoMaI4f+WoukQlzstbgpSamletUzdBe/5ZRxtWwLj0jTHDRIYTKm9muPn0uDwayGbN4LYs
+Pz2m6r
wo6F/NPGGZdlaYBd5Fe15Hmp/H1iGHSoiEPsZ3SR8NZnrYRjJhrHZ6XmILlhx6VdA6IWYG
+DoaYh+
hUBmx5utsVXLj1X5Scu1amjsY7QXsdqz3Ll+AqtaLYcr2HxMzDTDCrYyJ8nLUkiN5zkogt
+p7UD6v
qIDndok/gltnLtOdeytvm8CtlX4f+kHwEEfjq9ivu8Z0gde5dSP9q8GX+LKaKVfu6JlaOL
+PAlKVg
4OYIzMHfzyd5j8nKR85Wu4cdzW6Re7ln0aMPnd7fRP3H+wJtR9mxZdnNjAc/OCHtm3F4ql
+YQldT3
gyi5LvGJUZiAbqWpoXpD/dEsK90dScl2iuqciZWni5j1S9p3XsDaSr2DW78k144n+tjnpA
+xpanc5
VCLZ4HzoP9dUlzDnqjSCTNQDxxHvBw7y0/urafnP6mU712vgvFgpc8vgcJ8STamYMfVMNf
+2HlcRC
2oxqrxB0ejWbHfco0v1+K30U2TSU2MmbEh1IVcvpLxiCiySMorjYpxl896/jguEMvmE32U
+pISRiX
JpotM9s059JayZt2ThcHoxnFKYUUXUVFcyGlPWgu17ZoVu6IzA30VkV0NkU3/Al+0syFB7
+mgE2YJ
qLwc1HGWIRaf5cGFmv/No98AAAD//wMAUEsDBBQABgAIAAAAIQDTEwhDIgYAAIsaAAAVAA
+AAd29y
ZC90aGVtZS90aGVtZTEueG1s7FlNixs3GL4X+h/E3B1/zfhjiTfYYztps5uE7CYlR3lGnl
+GsGRlJ
3l0TAiU5Fgqlaemhgd56KG0DCfSS/pptU9oU8hcqaTz2yJZZ2mxgKVnDWh/P++rR+0qPNJ
+7LV04S
Ao4Q45imHad6qeIAlAY0xGnUce4cDkstB3AB0xASmqKOM0fcubL74QeX4Y6IUYKAtE/5Du
+w4sRDT
nXKZB7IZ8kt0ilLZN6YsgUJWWVQOGTyWfhNSrlUqjXICceqAFCbS7c3xGAcIHCqXzm7ufE
+Dkv1Rw
1RAQdqBcI8NCY8NJVX3xOfcJA0eQdBw5TkiPD9GJcACBXMiOjlPRf05593J5aUTEFtuC3V
+D/LewW
BuGkpu1YNFoauq7nNrpL/xpAxCZu0Bw0Bo2lPw2AQSBnmnExfTZrvrvAFkBZ0eK73+zXqw
+a+4L++
ge966mPgNSgruhv44dBfxbAAyoreBt7rtXt9078GZcXGBr5Z6fbdpoHXoJjgdLKBrniNup
+/PdgkZ
U3LNCm977rBZW8BXqHJhdWX2qdi21hJ4n7KhBOjkQoFTIOZTNIaBxPmQ4BHDYA9HsVx4U5
+hSLpsr
tcqwUpf/1cfVJZ1RuINgwTprCvhGk+IDeMDwVHScj6VXpwB58/LHNy+fg9NHL04f/XL6+P
+Hpo58t
VtdgGhWtXn//xd9PPwV/Pf/u9ZOv7HhexP/+02e//fqlHSiKwFdfP/vjxbNX33z+5w9PLP
+Aug6Mi
/BAniIMb6BjcpomcmGUANGL/zuIwhrho0U0jDlOobCzogYgN9I05JNCC6yEzgneZlAkb8O
+rsvkH4
IGYzgS3A63FiAPcpJT3KrHO6rsYqRmGWRvbB2ayIuw3hkW1sfy2/g9lUrndsc+nHyKB5i8
+iUwwil
SADVRycIWczuYWzEdR8HjHI6FuAeBj2IrSE5xCNjNa2MruFE5mVuIyjzbcRm/y7oUWJz30
+dHJlLu
CkhsLhExwngVzgRMrIxhQorIPShiG8mDOQuMgHMhMx0hQsEgRJzbbG6yuUH3upQXe9r3yT
+wxkUzg
iQ25ByktIvt04scwmVo54zQuYj/iE7lEIbhFhZUENXeIqss8wHRruu9iZKT77L19RyqrfY
+Gonhmz
bQlEzf04J2OItPPymp4nOD1T3Ndk3Xu3si6F9NW3T+26eyEFvcuwdUety/g23Lp4+5SF+O
+Jrdx/O
0ltIbhcL9L10v5fu/710b9vP5y/YK43Wl/j8qq7dJFvv7WNMyIGYE7THtbpzOb1wKBt1RR
+stHxOm
sSwuhjNwEYO6DBgVn2ARH8RwKoep6hEivnAdcTClXJ4PutnqW3WQWbJPw6y1Ws2fTKUBFK
+t2eb7k
7fI0Ellro7l6BFu617VIPyrnBJTtvyFRGMwkUbeQaOaNZ5DQMzsXFm0Li5Zyv5WF/lpkRe
+4/ANWP
Gp6bMZLrDRIUqjxl9nl2zz3T24JpTrtmmV5bcT2fTBskCsvNJFFYhjEM0XrzOee6vUqpQU
++FYpNG
s/Uucq1EZE0bSGrWwLHcc3VPugngtOOM5c1QFpOp9MeVbkISpR0nEItA/xdlmTIu+pDHGU
+x3ZfNP
sEAMEJzItV5MA0lX3Kq1pprjBSXXrly8yOmvYpLReIwCsaVlVZV9mRNr71uCVYXOJOmDOD
+wGIzJj
t6EMlNesqgCGmItlNEPMCot7FcU1uVpsReMXs9UWhWQaw8WJUhTzDK7LSzqFeWim67My64
+vJjCKV
pLc+dc82Uh0F0dxygKhT064f7+6QL7Ba6b7BKpPuda1r51q37ZR4+wOhQG01mEFNMbZQW7
+Wa1M7x
QlAYbrk0t50R530arK9adUDk90pd23g1QUf35crvy+vqjAiuqaIT+Yzg5z8qZ0qgW3N1OR
+FgxnDH
eVDxuq5f8/xSpeUNSm7drZRaXrde6npevTrwqpV+r/ZQBkXESdXLxh7K5xkyX7x50e0bb1
++S/Jp9
KaBJmep7cFkb67cv1dr2ty8Ay8g8aNSG7Xq71yi1691hye33WqW23+iV+g2/2R/2fa/VHj
+50wJEG
u9267zYGrVKj6vslt1FR9FvtUtOt1bpus9sauN2Hi1jLmeffeXg1r91/AAAA//8DAFBLAw
+QUAAYA
CAAAACEArWs6hgkEAAAQCwAAEQAAAHdvcmQvc2V0dGluZ3MueG1stFZtj9o4EP5+0v0HlM
+/HAiEJ
S1S2Wgi5brW0VbP9AU7igLV+iWwHllb332/sxBvoctX2qn7CmWfmmfF4Xnjz9onRwR5LRQ
+RfeJOr
sTfAvBAl4duF9+UhHV57A6URLxEVHC+8I1be25s//3hziBXWGtTUACi4ilmx8HZa1/FopI
+odZkhd
iRpzACshGdLwKbcjhuRjUw8LwWqkSU4o0ceRPx5HXkcjFl4jedxRDBkppFCi0sYkFlVFCt
+z9OAv5
Gr+tSSKKhmGurceRxBRiEFztSK0cG/u/bADuHMn+R5fYM+r0DpPxK657ELJ8tnhNeMaglq
+LASsED
MeoCJLx3HLwgevZ9Bb67K1oqMJ+M7ek08vDnCPwXBJHCP0cRdhQjdWT4yREp+pqUtNA9yS
+WSbcF1
+WBFfLflQqKcQjiQlwFcbWCj826gyr8KwQaHeI/ATY6VTon24LvGsoCnh5aZT7yRUYSEiy
+rTSGOA
VY0ptT1UUIy4sdhKxKD6ncTalLhCDdUPKM+0qJ2bmT9u4WKHJCo0llmNCmBbCa6loE6vFB
++EXkEn
SXjozsL2VX/K2h4FC44Y3O+s7zaixCayRpLXP4QxsN4n4anL7x0JmCmSlPjB5DXTR4pTCD
+4jX/Et
L983ShNgtN33CxH8KADMjeePUAkPxxqnGOkG0vSbnNmXSCmpN0RKIe94CbXx25yRqsISHB
+CotQ2U
D5HiYPP8DqMSRvkv+h2dlhEshlK5w2chtFMdj8NZdBtM20gN2iN+EgbT4CKSTsPp9SVkGg
+ZRdJEt
mI1Xs8tIEkbLrlfOkf+O7XYF0XX5PUeWcz9cLy8hq8BPZhfvk/jR+ta/hKTrIFldjC1No2
+DiMt3l
l8VmfXyS7mSaZcBaixViuSRosDELZmQ0cvm4JNzhOYZBh0+RrMkdOBy2gGKI0hSmiQNsaC
+wuiaoT
XNkz3SC57Xk7DXlRCpPr/TOXmYRY/i1FU7foQaK6bQKnMgmCzpJwfU+Yk6smz5wVh9F8Aj
+W8/LiX
Nk99eg6xhmK2w+Qe2aawupgPv2Rd01CZmYLHG1TXbd/k28nCo2S70xNT6hq+SvgfYj/yrd
+9hvsX8
FrMfqDA3A+3u0Mt8JzvRmzrZtJcFThb0stDJwl4WOVlkZDuYWBLWxyO0sDsaeSUoFQdcvu
+vxF6I2
CWqHapy02wXKS7SCbt2owT7GT7C7cGmWmapJydATvNHYj4x5p03RUTT6TNdgRrk+ZyiRRm
+54nBnb
Ev8uFrP1CgLlmB1Z3i+zqzZwShQMvBr2nhbSYX9ZbBLahagfoIof4WE/42qJFC47rBTFXW
+mWd2vz
bZ2s58lsOR9O/evrYQAtPJxPI3+4mqbrMAn8VTK7/afrQvdX9uZfAAAA//8DAFBLAwQUAA
+YACAAA
ACEAdD85esIAAAAoAQAAHgAIAWN1c3RvbVhtbC9fcmVscy9pdGVtMS54bWwucmVscyCiBA
+EooAAB
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIzPsYrDMAwG4P3g3sFob5zcUMoRp0spdD
+tKDroa
R0lMY8tYamnfvuamK3ToKIn/+1G7vYVFXTGzp2igqWpQGB0NPk4Gfvv9agOKxcbBLhTRwB
+0Ztt3n
R3vExUoJ8ewTq6JENjCLpG+t2c0YLFeUMJbLSDlYKWOedLLubCfUX3W91vm/Ad2TqQ6DgX
+wYGlD9
PeE7No2jd7gjdwkY5UWFdhcWCqew/GQqjaq3eUIx4AXD36qpigm6a/XTf90DAAD//wMAUE
+sDBBQA
BgAIAAAAIQCdWLFM4QAAAFUBAAAYACgAY3VzdG9tWG1sL2l0ZW1Qcm9wczEueG1sIKIkAC
+igIAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyQwWrDMAyG74O9g9HdtesmWVLilJ
+RQ6HVs
sKvrOIkhtoPtjI2xd5/DTt1xJ/FJSN+P6tOHmdG78kE7y2G/o4CUla7XduTw+nLBJaAQhe
+3F7Kzi
YB2cmseHug/HXkQRovPqGpVBqaFTvXYcvvIury7tocRFxSjOaFngtmRn3GXZPsvbp+rM2D
+egpLbp
TOAwxbgcCQlyUkaEnVuUTcPBeSNiQj8SNwxaqs7J1SgbCaO0IHJNevNmZmi2PL/bz2oI97
+hFW73+
r+Wmb7N2oxfL9Amkqckf1cZ3r2h+AAAA//8DAFBLAwQUAAYACAAAACEAShwXAI8LAABQcg
+AADwAA
AHdvcmQvc3R5bGVzLnhtbLyd23LbOBKG77dq34Glq9mLRD7KiWucKdtJ1q6NE0/kbK4hEr
+KwJgkt
D7G9T78ASEqgm6DYYI+vbB36A4i/fxDNk37/4ymJg188y4VMzyb7b/cmAU9DGYn0/mzy4+
+7zm3eT
IC9YGrFYpvxs8szzyR8f/v633x9P8+I55nmgAGl+moRnk1VRrE+n0zxc8YTlb+Wap+rDpc
+wSVqiX
2f00YdlDuX4TymTNCrEQsSiepwd7e7NJjcmGUORyKUL+UYZlwtPCxE8zHiuiTPOVWOcN7X
+EI7VFm
0TqTIc9ztdFJXPESJtINZv8IgBIRZjKXy+Kt2pi6Rwalwvf3zH9JvAUc4wAHADDLOQ5xXC
+Om+XPC
nyZBEp5e36cyY4tYkdQmBapXgQFPPig1Ixl+5EtWxkWuX2a3Wf2yfmX+fJZpkQePpywPhb
+hTvVCo
RCjq1Xmai4n6hLO8OM8F6/xwpf/p/CTMC+vtCxGJyVS3mP9PffiLxWeTg4PmnUvdg9Z7MU
+vvm/d4
+ubH3O6J9dZCcc8mLHszP9eB03rDqr/W5q5fvjINr1koTDtsWXCVqPuzPQ2NhfbFwfH75s
+X3Uo8w
KwtZN2IA1d8NdgpGXOWvyuZ5ZSr1KV9+keEDj+aF+uBsYtpSb/64vs2EzJRxzibvTZvqzT
+lPxJWI
Ip5aX0xXIuI/Vzz9kfNo+/6fn03y12+EskzV/4cnRyYL4jz69BTytbaS+jRlWpOvOiDW3y
+7FtnET
/t8Gtl8r0RW/4kzPJ8H+S4TpPgpxoCNya2u7meWLbTffQjV0+FoNHb1WQ8ev1dDstRo6ea
+2G3r1W
QwbzVzYk0og/VUaEzQDqLo7DjWiOw2xojsNLaI7DKmiOwwlojiPR0RxHHqM5jjRFcAoZur
+LQSvZD
R7b3c3fvI/y4u3cJftzdewA/7u4J34+7e3734+6ezv24u2dvP+7uyRrPrZZawbWyWVqMdt
+lSyiKV
BQ8K/jSexlLFMkUWDU/v9HhGspEEmGpmq3fEo2khM693Z4gxqf/+vNDlXCCXwVLcl5mqzc
+d2nKe/
eKyq5IBFkeIRAjNelJljRHxyOuNLnvE05JSJTQfVlWCQlsmCIDfX7J6MxdOIePgaIsmksE
+loVT+v
tEkEQVInLMzk+K5JRjY/fBH5+LHSkOCijGNOxPpKk2KGNb42MJjxpYHBjK8MDGZ8YWBpRj
+VENY1o
pGoa0YDVNKJxq/KTatxqGtG41TSicatp48ftThSxmeLtVcf+8GN3l7HUh8VH92Mu7lOmFg
+Djdzf1
MdPglmXsPmPrVaCPSndj7W3GtnMho+fgjmKftiFRretNilyqrRZpOX5AWzQqc214RPba8I
+gMtuGN
t9iNWibrBdoVTT0zLxdFp2kNaZBp5ywuqwXteLexYnyGbQ3wWWQ5mQ26sQQZ/FUvZ7WcFD
+Pftpfj
O7ZljbfVy1mJtHs1kqCXsQwfaKbhq+c1z1RZ9jCa9FnGsXzkER1xXmSyyjXb8gdGkkGW/5
+SsVywX
plZqIYbv6psT6sENW4/eoNuYiZRGt09vEibigG4FcXV38yW4k2tdZuqBoQFeyKKQCRmzPh
+L420++
+AdNB89VEZw+E23tOdHhIQO7FAQ7mYokIyKSWmaKVJDsQw3vX/x5IVkW0dBuM15dw1JwIu
+KcJetq
0UHgLTUvPqr5h2A1ZHj/ZpnQx4WoTHVHArMOG+bl4j88HD/VfZUByZGhb2Vhjj+apa6Jps
+ONXya0
cOOXCEZNtXvQ+UuwsS3c+I1t4ag29jJmeS6cp1C9eVSb2/Cot3d88VfzZCyzZRnTDWADJB
+vBBkg2
hDIukzSn3GLDI9xgw6PeXsKUMTyCQ3KG989MRGRiGBiVEgZGJYOBUWlgYKQCjL9Cx4KNv0
+zHgo2/
VqeCES0BLBhVnpHu/onO8lgwqjwzMKo8MzCqPDMwqjw7/Bjw5VItgul2MRaSKucsJN2OJi
+14spYZ
y56JkJ9ifs8IDpBWtNtMLvXNDTKtLuImQOpj1DHhYrvCUYn8ky/IuqZZlP0iOCLK4lhKom
+Nr2x2O
iWxfu7YrzNzJMboLtzEL+UrGEc8c2+SOVfXyvLot42X3TTcGHfb8Iu5XRTBfbY7225jZ3s
+7IpmBv
he1usGvMZ839LF1hNzwSZdJ0FN5MMTscHmwyuhV8tDt4u5JoRR4PjIRtznZHblfJrciTgZ
+GwzXcD
I41PW5F9fvjIsofORDjpy59NjedIvpO+LNoEdzbbl0ibyK4UPOnLopZVgvMw1GcLoDrDPO
+OOH2Ye
dzzGRW4Kxk5uymBfuRF9BvvOfwm9Z8dMmqa9zdUTYN43i+hBM+efpayO27dOOA2/qetaLZ
+zSnAed
nMPhJ65as4x7HAdPN27E4HnHjRg8AbkRg2YiZzhqSnJTBs9NbsTgScqNQM9WcI+Am61gPG
+62gvE+
sxWk+MxWI1YBbsTg5YAbgTYqRKCNOmKl4EagjArCvYwKKWijQgTaqBCBNipcgOGMCuNxRo
+XxPkaF
FB+jQgraqBCBNipEoI0KEWijQgTaqJ5re2e4l1EhBW1UiEAbFSLQRjXrxRFGhfE4o8J4H6
+NCio9R
IQVtVIhAGxUi0EaFCLRRIQJtVIhAGRWEexkVUtBGhQi0USECbdTqVkN/o8J4nFFhvI9RIc
+XHqJCC
NipEoI0KEWijQgTaqBCBNipEoIwKwr2MCiloo0IE2qgQgTaqOVk4wqgwHmdUGO9jVEjxMS
+qkoI0K
EWijQgTaqBCBNipEoI0KESijgnAvo0IK2qgQgTYqRPTlZ32K0nWZ/T7+qKfziv3hp67qTn
+23b+W2
UYfDUU2v3Kzh9yJcSPkQdN54eGjqjWEQsYiFNIeoHafVba65JAJ14vPbZf8dPjZ95EOX6n
+shzDlT
AD8aGgmOqRz1pbwdCYq8o75MtyPBqvOob/a1I8Fu8Khv0jW+bC5KUbsjENw3zVjB+47wvt
+naCodD
3DdHW4FwhPtmZisQDnDffGwFHgd6cn4ZfTxwnGab60sBoS8dLcKJm9CXllCrZjqGxhgqmp
+swVD03
YaiMbgJKTycGL6wbhVbYjfKTGtoMK7W/Ud0ErNSQ4CU1wPhLDVHeUkOUn9RwYsRKDQlYqf
+0nZzfB
S2qA8Zcaorylhig/qeGuDCs1JGClhgSs1CN3yE6Mv9QQ5S01RPlJDRd3WKkhASs1JGClhg
+QvqQHG
X2qI8pYaovykBlUyWmpIwEoNCVipIcFLaoDxlxqivKWGqD6pzVGUltQoha1w3CLMCsTtkK
+1A3ORs
BXpUS1a0Z7VkETyrJahVozmuWrJFcxOGqucmDJXRTUDp6cTghXWj0Aq7UX5S46qlLqn9je
+omYKXG
VUtOqXHVUq/UuGqpV2pcteSWGlctdUmNq5a6pPafnN0EL6lx1VKv1LhqqVdqXLXklhpXLX
+VJjauW
uqTGVUtdUo/cITsx/lLjqqVeqXHVkltqXLXUJTWuWuqSGlctdUmNq5acUuOqpV6pcdVSr9
+S4askt
Na5a6pIaVy11SY2rlrqkxlVLTqlx1VKv1LhqqVdqXLV0o0IEwSOg5gnLioDueXFXLF8VDP
+Fwwulj
6wemNNj8fpv6fqF6pZ8xbt0QFFXPWK2B5ovX0eaHoHSw7kZQ/+RW/bbpbX1CtGrRBMKmwp
+VqK6yf
DuVoqn7K6+Y2JfOM15cNOx4Fazqylbj5dj2e2/Gqvtcard5+FzqlevpsUq53jKqsdHXwfW
+2zXT1U
/VnE1Y+SqX+u00gBHusf5Kp6Gj2xCqU+v+RxfMOqb8u1+6sxXxbVp/t75qEALz5fVM+3c8
+ZnZiJ0
AqbtzlQv6x9Gc4x39cT7+gy9MyW12zuG21wuMnakB+bwpjdbg7/s0PaTajCZauCb9rOdyO
+1s39H3
jrTIcqFzwXxtb+/4ZHbenOmvf8Av1JPh5hvHs8NLM5rmt/fMRHk2WbU7Wjbf1k+BrlLX+t
+m8enCa
//IP/wcAAP//AwBQSwMEFAAGAAgAAAAhAEufoedyAQAA7QIAABEACAFkb2NQcm9wcy9jb3
+JlLnht
bCCiBAEooAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIySXU+DMBSG7038D6T3UD
+qMTgIs
UbML45Ilzmi8q+3ZVgelabsx/r0FBpO4C+/Ox3Penr5tMjsWuXcAbUQpU0SCEHkgWcmF3K
+TobTX3
p8gzlkpO81JCimowaJZdXyVMxazUsNSlAm0FGM8pSRMzlaKttSrG2LAtFNQEjpCuuS51Qa
+1L9QYr
ynZ0A3gShre4AEs5tRQ3gr4aFNFJkrNBUu113gpwhiGHAqQ1mAQEn1kLujAXB9rOL7IQtl
+ZwEe2b
A300YgCrqgqqqEXd/gR/LF5e26v6QjZeMUBZwllshc0hS/A5dJHZf30Ds115SFzMNFBb6m
+wJbk/v
2bltWqavN47voK5KzY2bHmUO42CYFsq6d+y0RwVH59TYhXvYtQD+UI+P+dtuJjQcRPMvsm
+lLDGly
MrlbDbjnzIk7K/vOe/T4tJqjbBKSOz8kfkRW5CYOSRyGn812o/mzYHFa4J+K9zGJxoq9QG
+fQ+INm
PwAAAP//AwBQSwMEFAAGAAgAAAAhAL9XZ0PHAAAAMgEAABMAKABjdXN0b21YbWwvaXRlbT
+EueG1s
IKIkACigIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKyQwWrDMAyGX8Xovj
+jroYyQ
pBTaHttBtp52cRwlMdhSsNWRvv28le0JdhT6/g/9qndr8OoTY3JMDTwXJSgky4OjqYH3t9
+PTC6gk
hgbjmbABYti1dV91fIsWk8pxSlXfwCyyVFonO2MwqeAFKe9GjsFIHuOkeRydxQPbW0ASvS
+nLre5d
7x1P0SzzHR6y/1F16NEKDp3cfT77Y/+679wq83FwkqtefgQX8o6wWJPPgW/wbEKGMwvq+v
+uTLbS1
/ivcfgEAAP//AwBQSwMEFAAGAAgAAAAhAI5+rJrVAQAAPAUAABIAAAB3b3JkL2ZvbnRUYW
+JsZS54
bWy8km1r2zAQx98P9h2E3jeWnYe2pk7JsgYGYy9G9wEURY5F9WB0Stx8+51kJx0LZQmD2i
+Dk/939
pPv7Hh5fjSZ76UE5W9F8xCiRVriNstuK/npe3dxRAoHbDdfOyooeJNDH+edPD11ZOxuAYL
+2F0oiK
NiG0ZZaBaKThMHKttBisnTc84KffZob7l117I5xpeVBrpVU4ZAVjMzpg/CUUV9dKyK9O7I
+y0IdVn
XmokOguNauFI6y6hdc5vWu+EBMCeje55hit7wuSTM5BRwjtwdRhhM8ONEgrLc5Z2Rr8Bpt
+cBijPA
DOR1iOmAyOBg5CslRpTfttZ5vtZIwpYI3ookMJ0PP5N0peUGw0uu1dqrFGi5dSBzjO25ri
+gr2IpN
cY3vhI3jSrOYKBruQUZIn8h6ueZG6cNRhU4B9IFWBdEc9T33Kl6tD4HaYmAHa1bRJ4ZPsV
+rRXskr
OkFhsTwpRTwrPfmgjE8Ki4pInD7jPlWJxDnl4JlZ78CZE8/KSCA/ZEd+OsPtO44UbIZOTN
+GP6Mz4
Kkd84l7rSLH405ElKrd3k2P/b47c/9uRnnO5I8NskO9q24R3JyTOxUdNyCJeuXj6a0IKdv
+vlzI/U
/X9OyLCB+W8AAAD//wMAUEsDBBQABgAIAAAAIQCTdtZJGAEAAEACAAAUAAAAd29yZC93ZW
+JTZXR0
aW5ncy54bWyU0cFKAzEQBuC74DuE3Ntsiy2ydFsQqXgRQX2ANJ1tg5lMyKRu69M7rlURL+
+0tk2Q+
5mdmiz0G9QaZPcVGj4aVVhAdrX3cNPrleTm41oqLjWsbKEKjD8B6Mb+8mHV1B6snKEV+sh
+Ilco2u
0dtSUm0Muy2g5SEliPLYUkZbpMwbgza/7tLAESZb/MoHXw5mXFVTfWTyKQq1rXdwS26HEE
+vfbzIE
ESny1if+1rpTtI7yOmVywCx5MHx5aH38YUZX/yD0LhNTW4YS5jhRT0n7qOpPGH6ByXnA+B
+8wZTiP
mBwJwweEvVbo6vtNpGxXQSSJpGQq1cN6LiulVDz6d1hSvsnUMWTzeW1DoO7x4U4K82fv8w
+8AAAD/
/wMAUEsDBBQABgAIAAAAIQD1HTHO1wEAANwDAAAQAAgBZG9jUHJvcHMvYXBwLnhtbCCiBA
+EooAAB
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJxTwW7bMAy9D9g/GLo3SoIsKAJFxZBi6G
+FbA8Rt
z5pMJ8JkSZDYoNnXj7IbV9l6qk/vkdTTIymLm5fOVkeIyXi3ZrPJlFXgtG+M26/ZQ/3t6p
+pVCZVr
lPUO1uwEid3Iz5/ENvoAEQ2kiiRcWrMDYlhxnvQBOpUmlHaUaX3sFBKNe+7b1mi49fq5A4
+d8Pp0u
ObwguAaaqzAKskFxdcSPijZeZ3/psT4F0pOihi5YhSB/5pN20njsBB+jovaobG06kLMlxU
+cmtmoP
Sc4EH4B48rFJcv5F8AGJzUFFpZEmKGeLheAFF19DsEYrpNnKH0ZHn3yL1X1vuMrnBS9LBD
+WxA/0c
DZ7kVPCSiu/GDUYGQMai2kcVDq/uRiZ2WlnYUPuyVTaB4G8BcQcqr3arTPZ3xNURNPpYJf
+OHljtn
1S+VIA9tzY4qGuWQDWUD6bENCaOsDVrSHnkPy7ISm0U2OYDLwp70HghfuutvSPct9YbvmJ
+2VZnsP
g9XCTunsfMc/qhvfBeVovnxENODf6SHU/jY/jdcZXgaLrT8ZPOyC0nk5y+ty/0VG7CgKDS
+103MkY
EHfUQbRZn866PTTnmv8T+UU9Dj8r3TaZ0tc/oXOMHsL4F8m/AAAA//8DAFBLAQItABQABg
+AIAAAA
IQCR5+O5fgEAAIoFAAATAAAAAAAAAAAAAAAAAAAAAABbQ29udGVudF9UeXBlc10ueG1sUE
+sBAi0A
FAAGAAgAAAAhAB6RGrfvAAAATgIAAAsAAAAAAAAAAAAAAAAAtwMAAF9yZWxzLy5yZWxzUE
+sBAi0A
FAAGAAgAAAAhAIpeYkA3AQAADQUAABwAAAAAAAAAAAAAAAAA1wYAAHdvcmQvX3JlbHMvZG
+9jdW1l
bnQueG1sLnJlbHNQSwECLQAUAAYACAAAACEAdiJd0BEDAAB9CwAAEQAAAAAAAAAAAAAAAA
+BQCQAA
d29yZC9kb2N1bWVudC54bWxQSwECLQAUAAYACAAAACEA0xMIQyIGAACLGgAAFQAAAAAAAA
+AAAAAA
AACQDAAAd29yZC90aGVtZS90aGVtZTEueG1sUEsBAi0AFAAGAAgAAAAhAK1rOoYJBAAAEA
+sAABEA
AAAAAAAAAAAAAAAA5RIAAHdvcmQvc2V0dGluZ3MueG1sUEsBAi0AFAAGAAgAAAAhAHQ/OX
+rCAAAA
KAEAAB4AAAAAAAAAAAAAAAAAHRcAAGN1c3RvbVhtbC9fcmVscy9pdGVtMS54bWwucmVsc1
+BLAQIt
ABQABgAIAAAAIQCdWLFM4QAAAFUBAAAYAAAAAAAAAAAAAAAAACMZAABjdXN0b21YbWwvaX
+RlbVBy
b3BzMS54bWxQSwECLQAUAAYACAAAACEAShwXAI8LAABQcgAADwAAAAAAAAAAAAAAAABiGg
+AAd29y
ZC9zdHlsZXMueG1sUEsBAi0AFAAGAAgAAAAhAEufoedyAQAA7QIAABEAAAAAAAAAAAAAAA
+AAHiYA
AGRvY1Byb3BzL2NvcmUueG1sUEsBAi0AFAAGAAgAAAAhAL9XZ0PHAAAAMgEAABMAAAAAAA
+AAAAAA
AAAAxygAAGN1c3RvbVhtbC9pdGVtMS54bWxQSwECLQAUAAYACAAAACEAjn6smtUBAAA8BQ
+AAEgAA
AAAAAAAAAAAAAADnKQAAd29yZC9mb250VGFibGUueG1sUEsBAi0AFAAGAAgAAAAhAJN21k
+kYAQAA
QAIAABQAAAAAAAAAAAAAAAAA7CsAAHdvcmQvd2ViU2V0dGluZ3MueG1sUEsBAi0AFAAGAA
+gAAAAh
APUdMc7XAQAA3AMAABAAAAAAAAAAAAAAAAAANi0AAGRvY1Byb3BzL2FwcC54bWxQSwUGAA
+AAAA4A
DgCUAwAAQzAAAAAA
edit: footnote 1: trust is earned. if I haven't earned it, don't run that code; I won't be offended. In general, it's a bad idea to download and run binaries that you have no reason to trust. | [reply] [d/l] [select] |
"Yes, it exists." Weird, not sure why it's not working for you.
Here's an alternative to my base64-encoded .docm: I added the document creation to the Win32::OLE commands. I also was reminded that $! doesn't get set by Win32::OLE; instead, use Win32::OLE->LastError().
use warnings;
use strict;
use Win32::OLE;
use Data::Dumper; $Data::Dumper::Maxdepth = 2;
use constant {
wdCharacter => 1,
wdWord => 2,
wdParagraph => 4,
wdLine => 5,
wdStory => 6,
wdMove => 0,
wdExtend => 1,
};
my $MSWord = Win32::OLE->new('Word.Application', 'Quit') or die Win32:
+:OLE->LastError();
$MSWord->{Visible} = 1;
my $fname = 'c:/temp/hyper2.docx';
{
my $doc = $MSWord->Documents->Add;
my $sel = $MSWord->Selection;
$sel->TypeText("This is the first hyperlink inside a paragraph.");
$sel->TypeParagraph;
$sel->MoveLeft(wdWord, 5, wdMove);
$sel->MoveRight(wdWord, 1, wdExtend);
my $rng = $sel->Range;
print STDERR $sel->Range->Text, $/;
$doc->Hyperlinks->Add({ Anchor => $rng, Address => 'http://google.
+com', TextToDisplay => $rng->Text });
$sel->EndKey( { Unit => wdStory } );
$sel->TypeText("This is the second.");
$sel->TypeParagraph;
$sel->MoveLeft(wdWord, 3, wdMove);
$sel->MoveRight(wdWord, 1, wdExtend);
$rng = $sel->Range;
print STDERR $sel->Range->Text, $/;
$doc->Hyperlinks->Add({ Anchor => $rng, Address => 'http://duckduc
+kgo.com', TextToDisplay => $rng->Text });
$sel->EndKey( { Unit => wdStory } );
$doc->SaveAs2($fname);
print STDERR $fname = $doc->FullName(), $/;
}
{
my $doc = $MSWord->Documents->Open($fname) or die Win32::OLE->Last
+Error();
local $, = "\t";
my $url = 'http://www.perlmonks.org/';
my $HLs = $doc->Hyperlinks();
foreach my $ihl ( 1 .. $HLs->Count ) { # ->Item() is 1-based, not
+ 0-based
print STDERR $ihl, $HLs->Item($ihl), @{ $HLs->Item($ihl) }{'Te
+xtToDisplay', 'Address', 'SubAddress'};
@{ $HLs->Item($ihl) }{'Address', 'SubAddress'} = ($url, '');
print STDERR $ihl, $HLs->Item($ihl), @{ $HLs->Item($ihl) }{'Te
+xtToDisplay', 'Address', 'SubAddress'};
}
$doc->Save;
$doc->Close;
}
$MSWord->Quit;
When I run that exact code, this is what I get. How does it compare to your output for the same code?
inside
second
C:\temp\hyper2.docx
here
1 Win32::OLE=HASH(0x478c00) inside http://google.com/
1 Win32::OLE=HASH(0x4788b8) inside http://www.perlmonks.o
+rg/
2 Win32::OLE=HASH(0x478d98) second http://duckduckgo.com/
2 Win32::OLE=HASH(0x478c00) second http://www.perlmonks.o
+rg/
| [reply] [d/l] [select] |