私はあなたのシナリオをAspose.Words for .NET 17.4でテストしましたが、ハイパーリンクスタイルの問題に気づくことができず、変更後もそのまま残ります。 Aspose.Words for .NETの古いバージョンを使用している場合は、最新のバージョンにアップグレードしてください。うまくいけば、問題が解決されます。
ただし、問題が解決しない場合は、入力、出力、および予定されているドキュメントとともにコード全体を共有してください。あなたの問題を正確に理解するのに役立ちます。
私はAsposeのTilal、開発者エバンジェリストです。
Document doc = new Document("Hyperlink.docx");
//You may change the color of Hyperlink style, if required.
//doc.Styles[StyleIdentifier.Hyperlink].Font.Color = Color.Blue;
//doc.Styles[StyleIdentifier.FollowedHyperlink].Font.Color = Color.Blue;
foreach (Field field in doc.Range.Fields){
if (field.Type == FieldType.FieldHyperlink){
FieldHyperlink link = (FieldHyperlink) field;
if (link.Result.Equals("aspose.com"))
{
link.Result = "google";
link.Target = "www.google.com";
}
}
}
doc.Save("Hyperlink_174.docx");
編集:特定のハイパーリンクを変更する場合は、次のコードスニペットを使用します。
Document doc = new Document("E:/Data/Hyperlink.docx");
DocumentBuilder builder = new DocumentBuilder(doc);
foreach (Field field in doc.Range.Fields)
{
if (field.Type == FieldType.FieldHyperlink)
{
FieldHyperlink link = (FieldHyperlink)field;
if (link.Result.Equals("aspose.com"))
{
builder.MoveToField(link, false);
builder.Font.ClearFormatting();
// Specify font formatting for the hyperlink.
builder.Font.Color = Color.Blue;
builder.Font.Underline = Underline.Single;
// Insert the link.
builder.InsertHyperlink("google", "http://www.google.com", false);
link.Remove();
}
}
}
doc.Save("UpdatedHyperlink.docx");
ありがとうございました。私は最新バージョンをテストします。現在、あなたのコードを見て、私は一つの違いを言及する必要があります:私は他のリンクのスタイルをontouchedを残して、1つだけのリンクを変更する必要があります。 –
私は最新版を試しました。はい、うまくいきます。しかし、ライセンスの制限により、この場合は正しく動作しないバージョン16.7で動作します。したがって、私の問題を解決する唯一の方法は、 'doc.Range.Fields'コードスニペットの' Field field 'で変更された個々のリンクのスタイルを定義することです。 –
Aspose.Wordsの最新バージョンを使用することが推奨されています。これには、多くの改善と修正が含まれています。しかし、特定のハイパーリンクを変更するために上記の応答のサンプルコードを更新しました。既存のハイパーリンクを削除し、必要なスタイルの新しいハイパーリンクを追加することができます。 –