none
Como fazer usar a função .InsertSymbol em um projeto VSTO RRS feed

  • Pergunta

  • Estou com problemas quando estou tentando inserir dentro de uma célula da segunda tabela do meu template um caractere do  Wingdings 2, o problema é que seguindo alguns foruns no máximo quando eu consigo inserir ele, ele aparece na primeira tabela , acredito que tem algo haver com uma propriedade de seleção mas não estou entendendo direito:

    ex:

    this.Tables[2].Cell(1, 1).Range.InsertSymbol(152, "Wingdings 2", true, Word.WdFontBias.wdFontBiasDefault);

     

    aparece uma exceção

    Este método ou propriedade não está disponível porque o objeto não se refere a um intervalo ou seleção simples.

     

    mas se eu tento setar assim como é explicado em alguns fóruns :

    Word.Selection selection = this.Tables[2].Cell(1,1).Application.Selection;

     

                selection.SetRange(1, 1);

     

                selection.InsertSymbol(152, "Wingdings 2", true, Word.WdFontBias.wdFontBiasDefault);

     

    o simbolo é inserido porém na célula (1,2) da tabela, eu acho que tem haver com esse ranger eu não estou sabendo setar direito , uma ajuda ai por favor ^^.

    • Movido AndreAlvesLima domingo, 14 de agosto de 2011 02:24 (De:.NET Development - Geral)
    sábado, 13 de agosto de 2011 18:12

Respostas

  • Bem como aqui no Brasil ninguém respondeu e eu com um amigo de fora conseguir a solução vou postar ela caso alguém que não tenha habilidades com inglês venha ter o mesmo problema.

    O ranger da célula que contém as estruturas celulares, além do texto da célula. Se você trabalha com uma tabela na UI esta é justamente a diferença entre clicar na borda da esquerda de uma célula (onde a célula inteira será selecionada) e pressionar TAB para inserir na célula (onde somente o texto é selecionado). Se a célula inteira for selecionada e você pressionar a tecla da seta para a esquerda, você começa um cursor intermitente ou, se a célula contiver texto, segurando a tecla Shift e pressionando a seta para a esquerda somente o texto é selecionado, não que toda a célula.

    A fim de obter esse estado usando o objeto Range você tem um número de possibilidades. O que eu costumo usar é

    Word.Range rngTable this.Tables = [2]. Celular (1, 1) Range.;
    objeto oCollapseStart = Word.WdCollapseDirection.wdCollapseStart;
    rngTable.Collapse (ref oCollapseStart);
    rngTable.InsertSymbol (152, "Wingdings 2", é verdade, Word.WdFontBias.wdFontBiasDefault);

    que é o equivalente a pressionar a seta para a esquerda, quando a célula inteira será selecionada.


    -------------------------------------------------- ------------------------------

    Respondido por :
    Cindy Meister, VSTO / Word MVP

    • Marcado como Resposta Drinith quarta-feira, 31 de agosto de 2011 15:54
    quarta-feira, 31 de agosto de 2011 15:54

Todas as Respostas

  • I'm having problems when I'm trying to insert into a second cell of a table of my template 's Wingdings 2 character, the problem is that following some forums when I get up to insert it, it appears in the first table, I believe it has something to do with a selected property I do not understand right:

    eg

    this.Tables [ 2 ]. Cell (1, 1). Range.InsertSymbol (152, " Wingdings 2 ", true, Word.WdFontBias.wdFontBiasDefault );

     

    appears an exception

    This method or property is not available because the object does not refer to a range or selection simple.

     

    but if I try to set as it is explained in some forums:

    Word.Selection this.Tables selection = [ 2 ]. Cell (1,1). Application.Selection;

     

                 selection.SetRange (1, 1);

     

                 selection.InsertSymbol (152, " Wingdings 2 ", true, Word.WdFontBias.wdFontBiasDefault );

     

    But the symbol is inserted in cell ( 1,2) table, I think this has to do with knowing I'm not grinding set right, help please ^ ^ .
    • Mesclado AndreAlvesLima terça-feira, 16 de agosto de 2011 21:07 duplicado
    sábado, 13 de agosto de 2011 21:18
  • Olá,

    Por favor, pedimos para que sejam postadas somente dúvidas em português nos fóruns da MSDN em PT-BR... Se puder traduzir para que os membros do fórum possam continuar a discussão seria ótimo...

    Obrigado pelo apoio...


    André Alves de Lima
    Microsoft MVP - Client App Dev
    Visite o meu site: http://www.andrealveslima.com.br
    Me siga no Twitter: @andrealveslima
    domingo, 14 de agosto de 2011 02:22
  • Prezado(a),
    Estou migrando seu post para o fórum de VSTO.
    Por favor, das próximas vezes que tiver alguma dúvida relacionada a esse assunto, poste por lá.
    Obrigado.

    André Alves de Lima
    Microsoft MVP - Client App Dev
    Visite o meu site: http://www.andrealveslima.com.br
    Me siga no Twitter: @andrealveslima
    domingo, 14 de agosto de 2011 02:24
  • Bem como aqui no Brasil ninguém respondeu e eu com um amigo de fora conseguir a solução vou postar ela caso alguém que não tenha habilidades com inglês venha ter o mesmo problema.

    O ranger da célula que contém as estruturas celulares, além do texto da célula. Se você trabalha com uma tabela na UI esta é justamente a diferença entre clicar na borda da esquerda de uma célula (onde a célula inteira será selecionada) e pressionar TAB para inserir na célula (onde somente o texto é selecionado). Se a célula inteira for selecionada e você pressionar a tecla da seta para a esquerda, você começa um cursor intermitente ou, se a célula contiver texto, segurando a tecla Shift e pressionando a seta para a esquerda somente o texto é selecionado, não que toda a célula.

    A fim de obter esse estado usando o objeto Range você tem um número de possibilidades. O que eu costumo usar é

    Word.Range rngTable this.Tables = [2]. Celular (1, 1) Range.;
    objeto oCollapseStart = Word.WdCollapseDirection.wdCollapseStart;
    rngTable.Collapse (ref oCollapseStart);
    rngTable.InsertSymbol (152, "Wingdings 2", é verdade, Word.WdFontBias.wdFontBiasDefault);

    que é o equivalente a pressionar a seta para a esquerda, quando a célula inteira será selecionada.


    -------------------------------------------------- ------------------------------

    Respondido por :
    Cindy Meister, VSTO / Word MVP

    • Marcado como Resposta Drinith quarta-feira, 31 de agosto de 2011 15:54
    quarta-feira, 31 de agosto de 2011 15:54