小编che*_*eak的帖子

在docx文件的宏中通过索引以编程方式删除重复节项目?

我有一个单词模板,内容控件包含在重复部分内容控件中.我需要创建一个按钮来删除项目转发器,例如添加.

我想弄清楚如何删除重复的部分项目.但在这种情况下 - 我总是删除最后一项.但是,我希望能够删除用户选择的项目.

Sub delete()
    Dim cc As ContentControl
    Dim Index
    Set cc = ThisDocument.SelectContentControlsByTag("ResolRepeater").Item(1)
    With cc
        .LockContentControl = False
        .LockContents = False
        .AllowInsertDeleteSection = True

        For Index = 1 To cc.RepeatingSectionItems.Count
        If Selection.Range.InRange(cc.RepeatingSectionItems(Index).Range) Or cc.RepeatingSectionItems(Index).Range.InRange(Selection.Range) Then
           Exit For
        End If
        Next Index

        'can't delete, get Run-Time Error '5904': "you can not change the range"
        cc.RepeatingSectionItems(Index).Range.delete

        'this lines always delete last element:
        'cc.RepeatingSectionItems(Index).Range.Select 
        'Selection.Delete

    End With 
End Sub
Run Code Online (Sandbox Code Playgroud)

单词模板

我很乐意回答任何问题.

vba ms-word docx word-vba

5
推荐指数
1
解决办法
403
查看次数

从Scala中的类型别名创建对象

如何从scala中的类型别名构造对象?

type MyType = List[Int]
println(List[Int]())
println(MyType())  // error: not found: value MyType
Run Code Online (Sandbox Code Playgroud)

这在必须返回该类型的新实例的函数中存在问题.基本示例:

def foo(x: MyType): MyType = {
  if (x.head == 0) MyType() // Should Nil be used?
  else if (x.head == -1) new MyType(1,2,3,4)
  else x
}
Run Code Online (Sandbox Code Playgroud)

怎么会foo不知道实际的类型MyType

scala typedef

4
推荐指数
1
解决办法
2116
查看次数

如何使用VBA宏选择Microsoft Word文档中的每个表

我正在寻找一种方法(或体面的介绍)如何选择Microsoft Word 2013文档中的每个表并自动调整内容.每个表彼此独立并以文本分隔.

到目前为止,我已经建立了以下代码:

Sub autofit()

    Selection.Tables(1).AutoFitBehavior (wdAutoFitContent)

End Sub
Run Code Online (Sandbox Code Playgroud)

哪个适用于单个表和所述表中的每一列,我理解"for循环"的格式,但是想要如何将我的个人选择转换为整个文档.

这是我的第一篇文章,对我错过的任何约定表示歉意.

vba ms-word

4
推荐指数
1
解决办法
1万
查看次数

如何从期权中转出未来?

有没有更惯用或更漂亮的方法来在 Rust 中进行这样的操作?

let maybe_output = match maybe_input {
    Some(input) => Some(async_result(input).await?),
    None => None,
};

Run Code Online (Sandbox Code Playgroud)

我尝试map这样使用,

let maybe_output = maybe_input.map(|input| async_result(input).await?);
Run Code Online (Sandbox Code Playgroud)

但我不能在不返回 future 或结果的 lambda 中使用.awaitand运算符。?我怀疑我可以绘制地图并得到一个Option<Future<Result<_>>>,然后将其Future<Result<_>>排序Future<Result<Option<_>>>

let maybe_output = maybe_input.map(|input|
    async_result(input)
).transpose().await?;
Run Code Online (Sandbox Code Playgroud)

但我不知道是否可以调用transposeFuture,因为它是一个特征,而不是像 Result 或 Option 这样的类型。

rust async-await option-type rust-futures

4
推荐指数
1
解决办法
1629
查看次数

删除锁定的Access数据库

我有一个Access数据库(.accdb)文件,必须用备份副本替换.不幸的是,该文件被(.laccdb)锁定,我无法重命名或删除任何文件.

我不知道谁锁定了文件,它可能是全球的承包商.所以我不能要求每个人断开连接.

如何解锁,删除或重命名锁定的.accdb文件?

locking ms-access-2010

2
推荐指数
1
解决办法
7923
查看次数

Vim:根据文件内容设置文件类型

如何在 Vim 中根据文件内容而不是扩展名设置 aa 文件的文件类型?

即使文件没有扩展名,Vim 似乎也有能力读取 shebang 并推断文件类型。如何定义要在文件中查找的任意标志并更改文件类型。例如,如果文件以 开头,/** @flow */则将文件类型设置为javascript.flow.

vim

2
推荐指数
1
解决办法
661
查看次数

奇怪的行为printf()每行调用10-13次

我写了这个函数,用于将2D矢量写入stdio printf()

static void printSheet ( const storage::twoDVec& Sheet, char format='g'
                       , char elDelim='\t', char vecDelim='\n') 

    const size_t vecSize = Sheet.vecSize;
    const size_t subVecSize = Sheet.subVecSize;
    char pFormat[3] = {'%', format, elDelim};
    for ( size_t y = 0; y < vecSize; y++ ) {
        for ( size_t x = 0; x < subVecSize; x++ ) {
            printf(pFormat, Sheet.get( y, x ));
        }
    putchar(vecDelim);
    }
}
Run Code Online (Sandbox Code Playgroud)

它的效果很好,除非subVecSize在[10,13]中,然后格式不是

x x x
x x x
x x x
Run Code Online (Sandbox Code Playgroud)

对于 subVecSize = …

c c++ printf

0
推荐指数
1
解决办法
74
查看次数

在 VBA 中保留目录列表

如何避免重置 Dir?

d = Dir(root & "*", vbDirectory)
d = Dir(): d = Dir() ' skip . and ..
While d <> ""
    f = Dir(root & d & "\*.txt")
    While f <> ""
        ' do something with f
        f = Dir()
    Wend
    d = Dir()  ' RunTime Error "5": Invalid Procedure or Call to Argument
Wend
Run Code Online (Sandbox Code Playgroud)

我的理解是当Dir(root & d & "\*.txt")被调用时,生成的第一个列表被Dir(root & "*", vbDirectory)重置。我怎样才能避免这种情况?我尝试将第二个循环放在函数中

d = Dir(root & "*", vbDirectory)
d = Dir(): d = …
Run Code Online (Sandbox Code Playgroud)

vba scope dir

0
推荐指数
1
解决办法
1240
查看次数

颠倒`IEnumerator`的行为

我在C#中编写一个Iterator接口,其行为与a相同,IEnumerator但它具有不同的签名

public interface Iterator
{
    /// <summary>
    /// Check if there iterator has another value.
    /// </summary>
    /// <returns><c>true</c>, if there is another value <c>false</c> otherwise.</returns>
    bool hasNext();

    /// <summary>
    /// Move the iterator to the next object and return that object.
    /// </summary>
    /// <returns>The next object.</returns>
    object next();
}
Run Code Online (Sandbox Code Playgroud)

这是向后从IEnumerator行为MoveNextCurrent.如果我有一个实现只是包装一个IEnumerator作为我的Iterable

class EnumeratorWrap: Iterator
{
    private IEnumerator<object> _iter;
    private bool _hasNext = true;

    public Enumerator(IEnumerator<object> iter)
    {
        _iter …
Run Code Online (Sandbox Code Playgroud)

c# iterator

0
推荐指数
1
解决办法
352
查看次数