Compartilhar via


Como: Verificar um lote de modelos de formulário

For the purposes of this task, the VerifyFormTemplate method of the FormTemplateCollection class is used to verify a form template listed in a text box. Este é o mesmo usando o botão verifique se a página **** Upload Form Template do site SharePoint 3.0 Central Administration.

A forma contém o seguinte: um **** FolderBrowserDialog controle; Um botão que abre o FolderBrowserDialog ; Um caixa de texto que detém a localidade da pasta que contém modelos forma a ser verificada; Um botão que executa o verificatio modelo forma; e um valioso caixa de texto para exibir o modelo forma verificado e as mensagens conversor.

Dica

Este tópico assume que Microsoft Visual Studio 2005 está instalado no front-end da Web (WFE) ou servidor único farm execução Os serviços de formulários do InfoPath.

Configurar O Project

  1. Crie um novo Visual Basic Windows Application projeto em Microsoft Visual Studio 2005.

  2. O menu do projeto, clique em Adicionar Referência .

  3. Na guia .NET da caixa diálogo **** Add Reference, selecione Windows ® SharePoint ® Services e clique OK.

  4. O menu do projeto, clique em Adicionar Referência novamente.

  5. Na guia Procurar do **** Add Reference caixa de diálogo, procurar para o Microsoft.Office.InfoPath.Server.dll Microsoft.Office.InfoPath.Server.dll assembly, geralmente localizado em C:\Program Files\Microsoft Office Servers\12.0\Bin\. Selecione o assembly e clique OK .

Adicionar controles e código do formulário

  1. Adicione o seguinte controles para a forma. Eles podem ser encontrados na categoria All Windows Forms do Visual Studio a Caixa de ferramentas :

    • Dois controles do botão

    • Um **** controle TextBox

    • Um controle RichTextBox

  2. Renomear o primeiro botão para "Pick a Folder" e o segundo botão para "Verify Form Templates" Modificando o **** propriedade Texto de cada botão no Properties Window .

  3. Reposicionar e redimensionar a forma e os controles até que todo o texto podem ser vistos nos botões e o controle RichTextBox preenche a maioria da forma.

  4. O modo de exibição **** menu, clique em código .

  5. Cole a codificar abaixo o janela de código, substituindo todos os codificar existente.

  6. Clique em Form1.vb [Design] sobre o menu janela.

  7. O Janela de propriedades , clique no caixa drop-down list e selecione button1 .

  8. O Janela de propriedades , clique no botão o eventos, que é geralmente o quarto botão do lado esquerdo na linha de botões abaixo a caixa drop-down list.

  9. O **** ação seção, clique no drop-down para o evento Click e selecione button1_Click .

  10. O Janela de propriedades , clique no caixa drop-down list e selecione Botão2 .

  11. O ação seção, clique no drop-down para o **** evento Click e selecione Button2_Click .

  12. O arquivo menu, clique em salvar todos os .

  13. Pressione F5 para executar o aplicativo.

Exemplo

Use os procedimentos acima para criar um novo aplicativo do Windows Visual Basic que usa este exemplo de código para verificar forma modelos em uma pasta e a lista todas as mensagens conversor associado com cada modelo forma ou mensagens indicando o modelo forma está pronto para ser carregado.

Imports Microsoft.SharePoint.Administration
Imports Microsoft.Office.InfoPath.Server.Administration

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        'Show the folder browser dialog
        If FolderBrowserDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
            TextBox1.Text = FolderBrowserDialog1.SelectedPath
        End If
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Dim Directory As New IO.DirectoryInfo(TextBox1.Text)
        Dim AllFiles As IO.FileInfo() = Directory.GetFiles("*.xsn", IO.SearchOption.TopDirectoryOnly)
        Dim MyFile As IO.FileInfo
        Dim StrLog As String = ""
        Dim LocalFormsService As FormsService
        Dim LocalFarm As SPFarm
        Dim VerifyMessages As New ConverterMessageCollection
        Dim ConverterMsg As ConverterMessage
        Dim IntFileCount As Int16 = 0

        Try
            'Loop through each file
            For Each MyFile In AllFiles
                'Write the filename and path to the string
                StrLog = StrLog + MyFile.FullName.ToString() + Environment.NewLine
                LocalFarm = SPFarm.Local
                LocalFormsService = LocalFarm.Services.GetValue(Of FormsService)(FormsService.ServiceName)
                'Verify the form template
                VerifyMessages = FormTemplateCollection.VerifyFormTemplate(MyFile.FullName.ToString())
                'If there are no messages, display a message that the form template
                'is OK, otherwise loop through the messages and build the string
                If VerifyMessages.Count = 0 Then
                    StrLog = StrLog + "  There are no problems with this form template." + Environment.NewLine
                Else
                    For Each ConverterMsg In VerifyMessages
                        StrLog = StrLog + "  " + ConverterMsg.ShortMessage.ToString() + _
                        ": " + ConverterMsg.DetailedMessage.ToString() + Environment.NewLine
                    Next
                End If
                'Write the string to the rich text box
                RichTextBox1.Text = RichTextBox1.Text + StrLog
                RichTextBox1.Refresh()
                'Reset the string, adding a blank line between files
                StrLog = Environment.NewLine
                'Increment the file count
                IntFileCount = IntFileCount + 1
            Next
            'Show message that the files are done
            MessageBox.Show(IntFileCount.ToString() + " file(s) verified")
        Catch ex As Exception
            MessageBox.Show("An error occurred: " + ex.Message)
        End Try
    End Sub
End Class

Se você precisar processo cada modelo forma a pasta principal e qualquer subpasta, alteração de parâmetro IO.SearchOption.TopDirectoryOnly IO.SearchOption.TopDirectoryOnly para IO.SearchOption.AllDirectories.

Se você precisar carregar forma modelos após verificando-los, use o UploadFormTemplate método M:Microsoft.Office.InfoPath.Server.Administration.FormTemplateCollection.UploadFormTemplate(System.String).

Consulte também

Tarefas

Como: Verificar um modelo de formulário antes de implantação

Outros recursos

Desenvolvendo aplicativos Windows para executar tarefas de administração dos serviços de formulários do InfoPath