根据当前段落访问表对象

时间:2016-11-14 08:03:41

标签: word-vba paragraph

我正在遍历文档中的所有段落,并希望识别它们的缩进级别。虽然这大部分时间都使用Paragraph.Format.LeftIndent,但它不适用于表中的段落。特别是在段落本身没有缩进但表格有左缩进的情况下。

有没有办法从当前选定的段落导航到它所在的表格?我知道有财产" wdWithInTable"但这对我来说还不够,因为我需要Table对象来检查它的LeftIndent属性。

1 个答案:

答案 0 :(得分:0)

从当前选择中获取表格使用此逻辑:

#include <iostream>

bool sortedAscending(const int* start, const int* end)
{
    if(start == end) return true;
    if(start + 1 == end) return true;
    auto halfDiff = (end - start) / 2;
    return *(start + halfDiff - 1) <= *(start + halfDiff) && sortedAscending(start, start + halfDiff) && sortedAscending(start + halfDiff, end);
}

int main()
{
    int array1[] = {0,1,2,3,4,5,6,7};
    int array2[] = {0,1,3,2,4,5,6,7};
    int array3[] = {0};
    int* array4 = nullptr;

    std::cout << "Array1: " << sortedAscending(std::begin(array1), std::end(array1)) << std::endl;
    std::cout << "Array2: " << sortedAscending(std::begin(array2), std::end(array2)) << std::endl;
    std::cout << "Array3: " << sortedAscending(std::begin(array3), std::end(array3)) << std::endl;
    std::cout << "Array4: " << sortedAscending(array4, array4) << std::endl;

    return 0;
}