ฟังก์ชัน RTD Excel ไม่สามารถส่งค่าอาร์เรย์

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 286258 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

สรุป

Microsoft Excel 2002, Microsoft Office Excel 2003 และ Microsoft Office Excel 2007 ให้ฟังก์ชันแผ่นงานใหม่ที่ชื่อ RTD RTD ช่วยให้คุณเรียกใช้เซิร์ฟเวอร์ Automation รูปแบบวัตถุคอมโพเนนต์ของ Microsoft (COM) เพื่อที่ดึงข้อมูลในเวลาจริง ฟังก์ชัน RTD ไม่สามารถส่งกลับอาร์เรย์ ถ้ามีใช้ฟังก์ชัน RTD เป็นเป็นสูตรอาร์เรย์ ทั้งหมดของเซลล์ในอาร์เรย์กลับ #VALUE

ข้อมูลเพิ่มเติม

ความยืดหยุ่นชั้นของเซิร์ฟเวอร์ RealTimeData (RTD) และฟังก์ชัน RTD ทำให้ใช้ในสูตรอาร์เรย์ที่ไม่จำเป็น RTD ในฟังก์ชันที่สามารถใช้หมายเลขที่โปรแกรมของสตริงการหรือหัวข้อเพื่อระบุข้อมูลจะแสดงขึ้นในเซลล์ได้ โดยใช้สายอักขระของหัวข้อที่เพิ่มเติม เซิร์ฟเวอร์ RTD well-written สามารถคืนค่าเดียว Excel ต้องทำการเรียกแบบเดียวกับเซิร์ฟเวอร์ RTD เพื่อดึงข้อมูลทั้งหมดจากเซิร์ฟเวอร์ RTD เท่านั้น ดังนั้น ออกแบบนี้ไม่ compromise ประสิทธิภาพการทำงาน

ด้วยวิธีนี้โปรดระลึกไว้ ในบางครั้งคุณอาจต้องการเพิ่มเซิร์ฟเวอร์ RTD จะส่งกลับอาร์เรย์ของค่าสำหรับหัวข้อเดียว และคุณอาจยังต้องการที่อาร์เรย์ของค่าที่จะสามารถแยกวิเคราะห์ลงในเซลล์หลาย ในกรณีนี้ เซิร์ฟเวอร์ RTD สามารถส่งคืนสตริงที่เดียวที่ประกอบด้วยค่าทั้งหมด แล้ว คุณสามารถใช้ใน Microsoft Visual Basic สำหรับฟังก์ชันของแอปพลิเคชัน (VBA) เพื่อที่แยกวิเคราะห์สตริเพื่อให้สามารถมีการส่งคืนข้อมูลไปยังแผ่นงานเป็นอาร์เรย์ Excel สามารถใช้ได้ประเมินวิธีการแปลรูปแบบของสายอักขระเป็นอาร์เรย์ ข้อความนี้มีอยู่ในวงเล็บปีกกา คอลัมน์ที่มีคั่น ด้วยจุลภาค และแถวถูกคั่น ด้วยเครื่องหมายอัฒภาค ตัวอย่างเช่น Excel สามารถแปลสายอักขระต่อไปนี้เป็นอาร์เรย์ที่มีแถวที่ 3 และ 4 คอลัมน์:
{ 1, 2, 3, 4, 10, 20, 30, 40, 100, 200, 300, 400 }
หรือ Excel สามารถ interpet สายอักขระต่อไปนี้เป็นอาร์เรย์ 2 แถวและคอลัมน์ที่ 5:
{"เป็น "b", " c " " ว" อี" "aa", "bb" "สำเนา" "พิ่ม" "ee" }
procedue ที่ต่อไปนี้แสดงให้เห็นถึงแนวทางที่เทคนิคที่คุณสามารถใช้สำหรับการแยกวิเคราะห์สายอักขระถูกส่งกลับจากเซิร์ฟเวอร์ RTD เพิ่มลงในเซลล์หลายชนิดนี้

โดยให้ทำตามขั้นตอนต่อไปนี้::
  1. สร้างโครงการ Visual Basic สำหรับเซิร์ฟเวอร์ RTD ที่อธิบายไว้ในบทความต่อไปนี้ของ Knowledge Base:
    285339วิธีการสร้างเซิร์ฟเวอร์ RealTimeData สำหรับ Excel
  2. ในการRTDFunctionsคลาสโมดูลโครงการ บรรทัดต่อไปนี้ในการแทนIRtdServer_RefreshDataฟังก์ชัน:
    aUpdates(1, n) = oTopic.TopicValue
    					
    แทนรหัส ด้วยบรรทัดของรหัสต่อไปนี้:
    Static bToggle As Boolean
    bToggle = Not (bToggle)
    If bToggle Then
       aUpdates(1, n) = "{1,2,3;10,20,30}"
    Else
       aUpdates(1, n) = "{""a"",""b"",""c"";""d"",""e"",""f""}"
    End If
    					
  3. สร้างเซิร์ฟเวอร์ RTD จากโครงการพื้นฐานที่แสดงผล
  4. ใน Excel 2002 ใน Office Excel 2003 หรือ ใน Office Excel 2007 เริ่มการทำงานของสมุดงานใหม่ และจากนั้น กด ALT + F11 เพื่อเปิด Visual Basic สำหรับตัวแก้ไขแอปพลิเคชัน
  5. แทรกโมดูลรหัสใหม่ลงใน Visual Basic สำหรับโครงการของโปรแกรมประยุกต์ และเพิ่มตัวอย่างรหัสต่อไปนี้กับโมดูลรหัสแล้ว
    Function parseArrayData( arrayData as String ) as Variant
       parseArrayData = Evaluate( arrayData )
    End Function
    					
  6. ปิด Visual Basic สำหรับตัวแก้ไขแอปพลิเคชันเพื่อกลับไปยังสมุดงาน Excel
  7. เลือกแถวทั้งสอง ด้วยคอลัมน์สามช่วงของเซลล์บนแผ่นงาน
  8. พิมพ์สูตรต่อไปนี้ และจากนั้น ให้กด CTRL + SHIFT + ENTER เพื่อป้อนเป็นสูตรอาร์เรย์:
    =parseArrayData(RTD("ExcelRTD.RTDFunctions",,"AAA"))
  9. หลังจากการแจ้งการปรับปรุงแรก แต่ละเซลล์ที่หกประกอบด้วยหมายเลขเฉพาะ หลังจากการแจ้งการปรับปรุงที่สอง แต่ละเซลล์ประกอบด้วยอักขระที่ไม่ซ้ำกัน

ข้อมูลอ้างอิง

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับเซิร์ฟเวอร์ RealTimeData คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
286259การตั้งค่าการรักษาความปลอดภัยและเซิร์ฟเวอร์ RealTimeData Excel
285888วิธีการใช้เซิร์ฟเวอร์ RTD Excel ที่ มี DCOM

คุณสมบัติ

หมายเลขบทความ (Article ID): 286258 - รีวิวครั้งสุดท้าย: 8 มกราคม 2554 - Revision: 2.0
ใช้กับ
  • Microsoft Office Excel 2007
  • Microsoft Excel 2002 Standard Edition
Keywords: 
kbinfo kbmt KB286258 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:286258

ให้ข้อเสนอแนะ

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com