使用VBA将单词列表转换为Word表中的单元格

问题描述

我制作了一个脚本,将所有拼写错误的单词粘贴到新文档中,所以现在我有一个文档文件,每个单词都是拼写错误的单词。该文档中目前有167个单词。我还制作了可以制作表格的脚本。我现在想将这167个单词中的每个单词放入其自己的单元格中,结果是一个包含167个单元格的表,每个单元格包含一个单词。 目的是使它自动化,以便可以将给定文档中的任意数量的单词转换为表格。

我该怎么做?我知道答案与循环有关,这就是为什么这是我得到的最远的结果。

public function providerCallback($provider)
{
    $sUser = Socialite::driver($provider)->user();
    if($user=User::where('email',$sUser->getEmail())->orderBy('id','desc')->first())
    {
        // There is a user with this email and provider ID on your system. deal with it here!
    }else{
        // Add user to DB
        $user=User::create([
            'first_name'=>'','last_name'=>'',''=>'',]);
        // IF you want to give users any role?
        $role=Role::where('name','someRole')->first();
        $user->assignRole($role['name']);
        // You should save provided user detail on your DB I think!
        $providerModel=Provider::create([
            'provider_name'=>'','provider_id'=>'Provider user id','user_id'=>$user->id,'avatar'=>'provider user Avatar',]);
        // Do your Welcome to user like send him a message or what?
    }
    // Save your user login details?
    Login::create([
        'ip'=>request()->ip(),'success'=>1,]);
    // Login user
    Auth::login($user,true);
    return redirect('where to redirect');
}

最终的计划是创建一个包含两列的表格:一个包含错误拼写的单词,另一个具有正确的拼写,以便我可以轻松地同时将所有对添加自动拼写检查字典中。

解决方法

假设您已将每个单词粘贴到新段落中,则无需遍历任何内容。您只需要将段落转换为表格:

Sub MispeltWordsTable()
   With ActiveDocument.Content
      With .ConvertToTable(Separator:=wdSeparateByParagraphs,NumColumns:=1,_
         NumRows:=.Paragraphs.Count,AutoFitBehavior:=wdAutoFitFixed)
         .style = "Table Grid"
         .ApplyStyleHeadingRows = True
         .ApplyStyleLastRow = False
         .ApplyStyleFirstColumn = True
         .ApplyStyleLastColumn = False
         .Columns.add
         .PreferredWidthType = wdPreferredWidthPercent
         .PreferredWidth = 100
      End With
   End With
End Sub