0

Word文書でハイパーリンクアドレスをエンコードしたい。

ワード ドキュメント パスは次のとおりです。c://Users/Administrator/Dropbox/Tool

finalURL=HttpUility.Urlencoding("http://www.Example.com/services/samplepage.aspx");

//finalUrl after encoding http%3a%2f%2fwww.Example.com%2fservices%2fSamplepage.aspx

ハイパーリンクを暗号化された URL とブックマークに置き換える:

 docTemp.Bookmarks["FirstName"].Range.Text = "Prasanna";

foreach (Word.Hyperlink hyperlink in docTemp.Hyperlinks)
                        {
                            if (hyperlink.Address.Contains(@"mailto:"))
                            {
                                continue;
                            }

                            hyperlink.Address = finalURL;

                        }

最後に単語ドキュメントを保存します:

saveAsFileName = string.Format("{0}\\{1}_{2}.doc", @"C:\Email_Sent", contactName, TodayDate.ToString().Replace(':', '_').Replace('/', '_'));
 docTemp.SaveAs(saveAsFileName);

しかし、Word 文書では Url を (Word 文書のローカルパス + EncryptedUrl) として受け取ります。

http://../Users/Administrator/Dropbox/BDETool/http%3a%2f%2fwww.Example.com%2fservices%2fSamplepage.aspx

正確な暗号化された URL が必要です:

http%3a%2f%2fwww.Example.com%2fservices%2fSamplepage.aspx 

ハイパーリンクアドレス用

4

1 に答える 1

0

私は私の質問に対する解決策を得ました

「?」の後に残っているパラメータまたは部分のみをエンコードします

たとえば、URLが次の場合:

  "http://www.Example.com/services/samplepage.aspx?name=yourname&age=35" 

エンコードするコード:

byte[] Bdata= ue.GetBytes("name=yourname&age=35");
encryptdata= Convert.ToBase64String(Bdata);
sFinalURL = string.format("http://www.Example.com/services/samplepage.aspx?{0}",encryptdata)

また

sFinalURL =string.format("http://www.Example.com/services/samplepage.aspx?name={0}&age={1}",yourname,35);
于 2013-03-01T05:26:03.147 に答える