การอ่าน Rich Text จาก Access ใน Word

ฉันมีเขตข้อมูลบันทึกช่วยจำในฐานข้อมูล Access 2007 ที่ตั้งค่าเป็น Rich Text ทั้งในฟิลด์และในแบบฟอร์ม และฉันต้องนำข้อมูลเหล่านี้ไปไว้ใน Word และคงการจัดรูปแบบไว้ ฉันได้เห็นวิธีแก้ปัญหาต่าง ๆ บน StackOverflow ที่แนะนำให้บันทึกเป็นไฟล์ (ซึ่งไม่ได้จัดรูปแบบข้อความ) และใช้ IE (ข้อผิดพลาดกับ ExecCommand “copy”) วิธีแก้ปัญหาที่ฉันพบว่าใช้ได้กับกรณีส่วนใหญ่คือการใช้คลิปบอร์ด แต่ ฉันไม่สามารถใช้งานได้กับการจัดรูปแบบทุกประเภท

รายละเอียดเพิ่มเติมเล็กน้อย: ฉันกำลังเชื่อมต่อกับฐานข้อมูลจาก Word โดยใช้ AdoDB โดยอ่านข้อมูลออกมาในอาร์เรย์ จากนั้นคัดลอกข้อมูลไปยังคลิปบอร์ด จากนั้นฉันใช้ Pastespecial – ดูวิธีแก้ปัญหาจากฝ่ายสนับสนุนของ Microsoft http://support2.microsoft.com/default.aspx?scid=kb;en-us;274326

รหัสสำหรับเชื่อมต่อกับ Access อยู่ที่นี่ (แต่ฉันเชื่อว่านี่ค่อนข้างมาตรฐาน):

Dim cn As Object
Dim rs As Object
Dim strCon As String

'define connection
Set cn = CreateObject("ADODB.Connection")

'connect string for Access - no password
strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strDataBaseFilePath & ";Persist Security Info=False;"

'open connection
cn.Open strCon

'get recordset
Set rs = cn.Execute(strSQL)

'load data into array
LoadDataFromDatabase = rs.GetRows

รหัสสำหรับ Pastespecial ข้อความใน Word อยู่ที่นี่:

PutHTMLClipboard CStr(varData)
rge.PasteSpecial datatype:=WdPasteDataType.wdPasteHTML

'PutHTMLClipboard เป็นรูทีนของ Microsoft โดย vardata ถูกกำหนดให้เป็นตัวแปรและเก็บข้อมูลจากฟิลด์ข้อความที่หลากหลายใน Access

เมื่อใช้วิธีการนี้ ฉันได้รับความผิดปกติบางประการ:

  1. ข้อความที่มีสัญลักษณ์แสดงหัวข้อย่อยแบบกำหนดเอง (เช่น ในสถานการณ์ของฉัน '>' แทนที่จะเป็นจุดมาตรฐาน) จะถูกเปลี่ยนเป็นอักขระแปลก ๆ

  2. ข้อความที่ขีดเส้นใต้มีการจัดรูปแบบอย่างถูกต้อง แต่ถ้าข้อความเป็นตัวหนา + ขีดเส้นใต้ แสดงว่าตั้งค่าเฉพาะการจัดรูปแบบตัวหนาเท่านั้น แบบอักษรตัวหนา + สีใช้งานได้ดี

หากฉันเน้นข้อความในแบบฟอร์ม Access ด้วยตนเอง และคัดลอกและวางลงใน Word โดยตรง การจัดรูปแบบทั้งหมดจะคงไว้อย่างสมบูรณ์


person Ash    schedule 29.01.2015    source แหล่งที่มา
comment
เป้าหมายสุดท้ายของคุณคืออะไร? เข้าถึง Word สู่เว็บได้หรือไม่ ทำไมไม่ส่งออกบันทึกช่วยจำที่จัดรูปแบบ Rich Text เป็น PDF ผ่านรายงาน Access เบราว์เซอร์ทั้งหมดในปัจจุบันรองรับ PDF และแสดงผลโดยตรงในหน้าต่าง นอกจากนี้ ในการออกแบบเว็บไซต์ในปัจจุบัน การกำหนดสไตล์แบบอักษร (ตัวหนา ตัวเอียง ขีดเส้นใต้) และหน้า (รายการ ระยะขอบ ช่องว่างภายใน รูปภาพ) ผ่านมาร์กอัป html ถือเป็นแนวทางปฏิบัติที่เลิกใช้แล้ว เนื่องจาก css เป็นมาตรฐาน แจ้งให้เราทราบจุดสิ้นสุดสูงสุดของคุณเพื่อให้เราสามารถช่วยเหลือได้   -  person Parfait    schedule 30.01.2015
comment
จุดมุ่งหมายคือการสร้างเอกสารที่มีรูปแบบสมบูรณ์ใน Word โดยดึงบันทึก/ฟิลด์ที่ผู้ใช้เลือกตามต้องการ เช่น สำหรับเอกสาร 1 คุณอาจต้องบันทึก 1, 2, 7, 15 พร้อมช่องคำอธิบาย ลูกค้า วันที่ ในเอกสาร 2 อาจเป็นชุดระเบียน / ฟิลด์ที่แตกต่างไปจากเดิมอย่างสิ้นเชิง เป้าหมายสูงสุดคือให้ผู้ใช้เลือกบันทึก / ฟิลด์และเพื่อให้แมโครดึงข้อความที่จัดรูปแบบไว้ล่วงหน้าจาก Access เข้าสู่ Word และทำให้มันมีลักษณะตามที่ตั้งใจไว้ เถ้า   -  person Ash    schedule 30.01.2015
comment
ขอย้ำอีกครั้งว่าเหตุใดจึงไม่ใช้แบบฟอร์ม Access สำหรับผู้ใช้ในการป้อนข้อความที่จัดรูปแบบ เลือกบันทึกผ่านกล่องรายการ คอมโบหรือฟอร์มย่อย แล้วส่งออกรายงานในรูปแบบ PDF ทำไมต้องใช้ Word? หากต้องการแก้ไขช่องข้อความ ให้ดำเนินการใน Access ก่อนส่งออก   -  person Parfait    schedule 31.01.2015
comment
นี่เป็นเพียงส่วนหนึ่งในกระบวนการดึงเอกสารที่เสร็จแล้วมารวมกัน - ข้อความจะต้องเริ่มจาก Access ไปยัง Word ซึ่งจะถูกเพิ่มลงในเอกสารข้อเสนอฉบับเต็ม ไม่มีทางแก้ไขได้ คุณช่วยฉันทำให้สิ่งนี้ใช้งานได้ได้ไหม?   -  person Ash    schedule 01.02.2015
comment
คุณสามารถใช้ Word เพื่อรักษาการจัดรูปแบบแทนเขตข้อมูลบันทึกช่วยจำใน Access ได้หรือไม่ นั่นคือวิธีการทำงานของจดหมายเวียน   -  person Beth    schedule 11.03.2015
comment
สามารถดูคำตอบได้ที่นี่: stackoverflow.com/questions/16350527/   -  person    schedule 15.03.2016