كلمة الأتمتة لمعرفة ما إذا كانت المرجعية في الجدول

StackOverflow https://stackoverflow.com/questions/608684

  •  03-07-2019
  •  | 
  •  

سؤال

أنا باستخدام كلمة الآلي لمعالجة بعض الوثائق (يوك!).أنا باستخدام هذا الأمر للحصول على إشارة مرجعية في مستند.

Object oBookmark = "MyBookmarkName";
Range oRngoBookmark = wordDocument.Bookmarks.get_Item(ref oBookmark).Range;

ما أريد معرفته هو إذا أن المرجعية في الجدول في المستند أم لا.هل هناك طريقة سهلة للقيام بذلك ؟

أنا أدعو هذا الرمز من C# في .صافي التطبيق.

هل كانت مفيدة؟

المحلول

لست متأكدا كيف أن هذا سوف تعمل مع .صافي ، ولكن هنا الماكرو الذي يسلك هذه الفكرة.طراز كائن يميل إلى أن يكون نفسه لذلك أنا لا أعتقد أنه سيكون من الصعب أن تترجم إلى C# من VBA.

Sub BookmarksInTables()
    Dim aTable As Table
    Dim aBookmark As Bookmark

    For Each aBookmark In ActiveDocument.Bookmarks
        For Each aTable In ActiveDocument.Tables
            'If start of book mark is inside the table range or
            ' the end of a book mark is inside the table range then YES!
            If (aBookmark.Range.Start >= aTable.Range.Start _
                And aBookmark.Range.Start <= aTable.Range.End) _
            Or (aBookmark.Range.End >= aTable.Range.Start _
                And aBookmark.Range.End <= aTable.Range.End) Then
                MsgBox aBookmark.Name + " is inside a table"
            Else
                MsgBox aBookmark.Name + " is not inside a table"
            End If
        Next
    Next
End Sub

وهو يعمل عن طريق التحقق من إذا كانت المرجعية هي بداية أو نهاية داخل كل جدول مجموعة (في المستند بأكمله).أنه سوف يعمل إذا كان أي جزء من المرجعية هو داخل الجدول.

بدلا من ذلك إذا كنت بحاجة إلى معرفة ما إذا كانت المرجعية هي حصريا داخل الجدول قد ترغب في التحقق المرجعية في البداية أن يكون أكبر من أو يساوي الطاولة تبدأ و المرجعية نهاية أن تكون أقل من أو يساوي إلى طاولة نهاية.

--كريس

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top