01/10/2018, 17:12

Replace kí tự xuống dòng trong file Word bằng `. `

Em có tập tành làm add-in cho word. Bắt đầu bằng những thứ đơn giản thế này:

  • em có một file word có nội dung như sau:
    Dạy nhau học 1
    Dạy nhau học 2
    Dạy nhau học 3
    Dạy nhau học 4
    Dạy nhau học 5
  • giờ em muốn dồn tất cả các dòng về làm một tức là sẽ thế này: Dạy nhau học 1. Dạy nhau học 2. Dạy nhau học 3. Dạy nhau học 4. Dạy nhau học 5.
  • Em đã thử dùng:
Word.Range rang = Globals.ThisAddIn.Application.ActiveDocument.Range();
rang = rang.Text.Replace("
", ". ");

tuy nhiên vẫn không được, không thấy động tĩnh gì. em có thử replace một số chữ cái như thay “D” thành “C” thì vẫn ok. Mong các bác chỉ giúp ạ. Em cảm ơn nhiều!!!

Trương Tấn Phát viết 19:16 ngày 01/10/2018

Hay thử:

rang = rang.Text.Replace("\r\n", ". ");
viết 19:22 ngày 01/10/2018

Em đã thử như bác rồi ạ, vẫn ko lên đc 1 dòng, thử cái khác lại đc ạ

!IsProgrammer viết 19:22 ngày 01/10/2018
  // Environment.NewLine sẽ giúp nó biết đây là xuống dòng
  rang = rang.Text.Replace(Environment.NewLine,". ");
  rang+=".";
*grab popcorn* viết 19:28 ngày 01/10/2018

A post was merged into an existing topic: Topic lưu trữ các post off-topic - version 3

Trần Hoàn viết 19:26 ngày 01/10/2018

Liệu có phải là Replace ("^p", ".") như trong Find and Replace :))

HK boy viết 19:26 ngày 01/10/2018

A post was merged into an existing topic: Topic lưu trữ các post off-topic - version 3

viết 19:13 ngày 01/10/2018

Bác chỉ em chủ đề giống thế này mà đã đc giải quyết với, nói thật em tìm rồi không thấy.

Trung Nguyen viết 19:13 ngày 01/10/2018

bạn copy hết ra nodepad++ rồi replace, sau đó paste lại vô word nhé.

HK boy viết 19:21 ngày 01/10/2018

Mình tìm ra cách làm chay trên MS Word, chắc bạn sẽ làm được trên C# thôi.

  • Ví dụ input, có cả line break và paragraph break:

image

  • Ấn Ctrl + H (Find & Replace)

  • Bật Use Wildcard (tìm kiếm giống regex).

  • Gõ vào ô tìm kiếm (như hình).

image

  • Chú giải:

    • ^11: line break
    • ^13: paragraph break
  • Ấn Replace All, và tada

image

Đọc 2 link này nè:

Graham Mayor ... helping to ease the lives of Microsoft Word users.

Replace using wildcards

A collection of tips and add-ins to benefit Word users.

https://wordmvp.com/FAQs/General/UsingWildcards.htm


^l^p vào box Find What thì MS Word không cho đâu. Đổi thành ^11^13 mới được

viết 19:16 ngày 01/10/2018

cảm ơn bác, tuy chưa được nhưng có vẻ đi theo hướng này sẽ được

Trương Tấn Phát viết 19:24 ngày 01/10/2018

String.ReplaceAll nhận tham số chuỗi chứ đâu phải Regex.

rang.ReplaceAll((char)11+"", ". ");
// hoặc
rang.ReplaceAll("\v", ". ");
viết 19:13 ngày 01/10/2018

(char)11+"", ". "

cảm ơn bác, em đã thành công

viết 19:21 ngày 01/10/2018

Cảm ơn tất cả các bác đã hỗ trợ em, em đã làm được rồi ạ

Bài liên quan
0