in reply to Re: M$ Word ole hyperlink
in thread M$ Word ole hyperlink

Thanks for the help, but am getting this error when running your code.

Can't call method "Hyperlinks" on an undefined value at sharepoint.pl line 14.

Like the approach, but do you have an example word doc you're using, how is it finding the hyperlink tokens?
Thanks,
- 3dbc

Replies are listed 'Best First'.
Re^3: M$ Word ole hyperlink
by poj (Abbot) on Jan 31, 2017 at 18:15 UTC

    Are you sure the document in ->Open() exists ?

    The tokens must be hyperlinks not just text.

    poj

      I agree, it's probably in the ->Open(). This might help 3dbc debug it.

      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.

      Yes, it exists.
      - 3dbc

        "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/