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
Crie um novo Visual Basic Windows Application projeto em Microsoft Visual Studio 2005.
O menu do projeto, clique em Adicionar Referência .
Na guia .NET da caixa diálogo **** Add Reference, selecione Windows ® SharePoint ® Services e clique OK.
O menu do projeto, clique em Adicionar Referência novamente.
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
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
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 .
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.
O modo de exibição **** menu, clique em código .
Cole a codificar abaixo o janela de código, substituindo todos os codificar existente.
Clique em Form1.vb [Design] sobre o menu janela.
O Janela de propriedades , clique no caixa drop-down list e selecione button1 .
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.
O **** ação seção, clique no drop-down para o evento Click e selecione button1_Click .
O Janela de propriedades , clique no caixa drop-down list e selecione Botão2 .
O ação seção, clique no drop-down para o **** evento Click e selecione Button2_Click .
O arquivo menu, clique em salvar todos os .
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