PowerPoint VBA - วิธีใส่แท็กในเซลล์เพื่อระบุ


1

ฉันพยายามทดสอบความสามารถอัตโนมัติของ MS PowerPoint โดยใช้ VBA

สำหรับความต้องการของฉันเซลล์ตารางใด ๆ จะต้องทำเครื่องหมายด้วย ID ควบคุมและส่งกลับโดยใช้ ID นี้ อย่างไรก็ตามฉันไม่สามารถค้นหาวิธีที่เหมาะสมได้ คุณมีความคิดใด ๆ

  Dim slide As slide
  Dim t As Table
  Dim r As Integer
  Dim c As Integer
  Dim s As Shape
  Set slide = Application.ActivePresentation.Slides(1)
  Set t = slide.Shapes(1).Table
  Set s = t.Cell(1, 1).Shape
  ' t.Tags and s.Tags aren't accessible...
  ' Is there any way to put ID into the Cell or Shape of Cell?
  ... 

คำตอบ:


0

คุณควรโพสต์คำถามนี้ใน StackOverflow มากกว่าที่นี่ SuperUser ใช้สำหรับคำถาม "วิธีใช้โปรแกรมนี้" StackOverflow ไปยังแบบสอบถาม "ฉันจะตั้งโปรแกรมนี้ได้อย่างไร"

วิธีหนึ่งที่คุณอาจใช้วิธีนี้คือการจัดเก็บข้อมูลแท็กสำหรับตารางในอาเรย์แล้วแปลงอาเรย์เป็นสตริงเช่นนี้:

Row1Cell1Value | Row1Cell2Value | ... | Row1CellNValue ~ Row2Cell1Value | Row2Cell2Value | ... | Row2CellNValue และอื่น ๆ โดยที่ | เป็นตัวคั่นระหว่างค่าแท็กสำหรับแต่ละเซลล์ในอาร์เรย์และ ~ คือตัวคั่นระหว่างแถว

เพิ่มสตริงนี้เป็นแท็กบนสไลด์ที่มีตารางอยู่เช่น:

ActivePresentation.Slides(1).Tags.Add TableName, BigOldStringOfTags

เมื่อคุณต้องการดึงแท็กของตารางคุณจะต้องดึงสตริงใหญ่นี้แยกออกมาใน ~ เพื่อสร้างอาร์เรย์ของสตริงแต่ละองค์ประกอบที่แทนแถวของแท็กสำหรับแถวที่สอดคล้องกันของตาราง จากนั้นคุณสามารถแยกองค์ประกอบนั้นเพื่อรับแท็กแยกสำหรับแต่ละเซลล์ในแถว

ขึ้นอยู่กับความต้องการของคุณมันอาจจะง่ายกว่าที่จะคิดในการทำเคล็ดลับ doublesplit นี้เพื่อสร้างอาร์เรย์ของแท็กเดิมเพื่อให้แต่ละองค์ประกอบ (x, y) ของอาร์เรย์สอดคล้องกับเซลล์ (แถว, คอลัมน์) เดียวกันของตาราง


0

ขอบคุณมากสตีฟและขอโทษสำหรับการตอบสนองช้าของฉัน ฉันได้ลองวิธีการเดียวกับที่คุณแนะนำ อย่างไรก็ตามน่าเสียดายที่มันไม่เหมาะกับตารางตัวแปร นั่นคือข้อมูลแท็กบนตารางระดับบนสุดจะถูกยกเลิกเมื่อผู้ใช้แทรก / ลบ / เรียงลำดับแถว / columuns เนื่องจากข้อมูลนี้ขึ้นอยู่กับดัชนีของแถว / columun เป็นหลักในขณะออกแบบ ตามข้อกำหนดเราจำเป็นต้องมีวิธีการที่มีความซ้ำซ้อนอย่างมีเหตุผลต่อการปรับเปลี่ยนตาราง วิธีที่ง่ายที่สุดคือการติดแท็กสำหรับแต่ละตารางเซลล์ที่ฉันคิดว่า แต่ฉันไม่สามารถหาวิธีการใช้งานที่ดี คุณมีความคิดที่ดีหรือไม่? ฉัน wii ยังโพสต์บน StackOverflow กว่าคุณสำหรับคำแนะนำของคุณ!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.