วีบีเอ วิธีรับจำนวนเอกสารที่เปิดอยู่ใน Application.Documents อย่างรวดเร็ว

ฉันมี word.application เป็นวัตถุใน VBA และฉันต้องการสิ่งที่ใช้งานได้เช่น:

if word.application.documents(total) = 0 Then _
     word.application.quit wdDoNotSaveChanges
End If

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

กล่าวอีกนัยหนึ่งโดยไม่ต้องวนซ้ำเอกสารทั้งหมดใน application.documents(i) จนกว่าจะพ่น "ไม่มีเอกสาร" และ ณ จุดนี้ให้นับค่าของ i.... มีวิธีค้นหาหรือไม่ (i ) ทันที?

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


person Ian Jackson    schedule 10.06.2014    source แหล่งที่มา


คำตอบ (1)


oWordApp.Documents.Countคือสิ่งที่คุณต้องตรวจสอบ

person PatricK    schedule 10.06.2014
comment
ขอบคุณ. มีทรัพยากรที่ดีกว่าศูนย์พัฒนา Microsoft หรือไม่ โดยมาจากการเขียน php และการเข้าถึงคู่มือและฟอรัม ฉันพบว่าความช่วยเหลือของ MS นั้นมีประโยชน์น้อยกว่ามากในตัวอย่างและการสนับสนุน - person Ian Jackson; 10.06.2014
comment
MSDN มักจะใช้สำหรับการอ้างอิง ตัวอย่างจะแสดงให้เห็นได้ยากทั้งหมดเนื่องจากครอบคลุมพื้นที่ขนาดใหญ่ คุณสามารถรับสื่อสิ่งพิมพ์/ดิจิทัลบน VBA ของแอป office ที่คุณสนใจ ซึ่งโดยปกติจะมีตัวอย่างเพิ่มเติม - person PatricK; 11.06.2014