Related Posts Plugin for WordPress, Blogger...

2014年8月26日 星期二

VB.Net開發,Visual Studio Snippet程式碼片段六之一,MVC與Office項目

Visual Studio2013提供的Snippet,
Snippet加速了.Net程式開發者的開發速度,
提供了ASP.NET MVC4,Office程式碼片段的Snippet詳細內容
12個項目列示如下,
1.ASP.NET MVC4
2.My Code程式碼片段
3.Office程式碼片段
4.Windows Form應用程式
5.Windows系統-記錄,處理序,登錄,服務
6.WPF
7.其他-連接,安全性,工作流程
8.基本-集合,資料類型,檔案系統,數學
9.應用程式-編譯,資源和設定
10.測試
11.程式碼模式-If,For Each,Try Catch,Property
12.資料-LINQ,XML,設計工具,ADO.NET

依照Visusl Studio2013程式片段管理員中,
列示的項目順序,
把提供的Snippet詳細內容列示在下方,
雖然跟使用Snippet右鍵時,
列示的項目順序不同,
不過可以先查閱一下內容

1.ASP.NET MVC4
1.1mvcaction4: 動作的程式碼片段。
Public Function Action() As ActionResult
        Return View()
End Function

1.2mvcpostaction4: 經由 HTTP Post 之動作的程式碼片段。
    <HttpPost()> _
    Public Function Action() As ActionResult
        Return View()
    End Function


2.My Code程式碼片段:自訂程式碼預設區段

3.Office程式碼片段
3.1Excel
3.1.1格式化
3.1.1.1設定範圍的數字格式: 設定 Excel 範圍物件的數字格式。
range.NumberFormat = "#,###.00;[Red](#,###.00);0.00;@"

3.1.2控制項
3.1.2.1將資料繫結到NamedRange控制項: 透過 BindingSource 物件將資料繫結到 Excel NamedRange 控制項。
namedRange.DataBindings.Add("Property", bindingSource, "Name")

3.1.2.2將資料繫結到清單物件: 透過 BindingSource 物件將資料繫結到 Excel ListObject 控制項。
list.SetDataBinding(bindingSource, dataMember, "Column1")

3.1.2.3從陣列填入範圍: 使用陣列中的值填入工作表上的範圍。
range.Value2 = values

3.1.2.4從範圍填入陣列: 使用範圍中的值填入物件陣列。
' This will fail if the range is a single cell.
Dim values As Object(,) = CType(range.Value2, Object(,))

3.1.2.5篩選清單物件: 設定 Excel 清單物件的篩選選項。
listObject.Range.AutoFilter( Field:=1, _
                               Criteria1:="=", _
                               Operator:=Excel.XlAutoFilterOperator.xlTop10Items, _
                               Criteria2:=xlAnd, _
                               VisibleDropDown:=True)


3.1.2.6隱藏工作表控制項: 隱藏 Excel 工作表上的所有控制項。
Dim obj As Object
For Each obj As System.Windows.Forms.Control In worksheet.Controls
   CType(obj, System.Windows.Forms.Control).Hide()
Next

3.1.2.7隱藏或顥示工作表: 隱藏或顯示 Excel 工作表。
worksheet.Visible = Excel.XlSheetVisibility.xlSheetHidden

3.1.2.8顯示清單物件的合計列: 顯示或隱藏 Excel ListObject 控制項的合計列。
list.ShowTotals = True


3.1.3匯入
3.1.3.1從字串匯入結構描述: 從字串將 XML 結構描述匯入到 Excel 結構描述對
Dim xmlMap As Excel.XmlMap = workbook.XmlMaps.Add("Schema", "RootElementName")

3.1.3.2從檔案匯入結構描述: 從檔案將 XML 結構描述匯入到 Excel 結構描述對
Dim xmlMap As Excel.XmlMap = workbook.XmlMaps.Add(@"C:\Schemas\TestSchema.xsd", "RootElementName")


3.1.4環境
3.1.4.1工作表拼字檢查: 檢查 Excel 工作表的拼字。
worksheet.CheckSpelling("MyDictionary", True, _
                             True, msoLanguageIDEnglishUS)

3.1.4.2列印工作表: 檢查 Excel 工作表的拼字。
worksheet.PrintOut( From:=1, _
                         To:=10, _
                         Copies:=1, _
                         Preview:=True, _
                         ActivePrinter:="MyPrinter", _
                         PrintToFile:=True, _
                         Collate:=True, _
                         PrToFileName:="FileName")


3.1.4.3列印活頁簿: 將工作表列印到指定的印表機或列印到檔案。
workbook.PrintOut( From:=1, _
                        To:=10, _
                        Copies:=1, _
                        Preview:=True, _
                        ActivePrinter:="MyPrinter", _
                        PrintToFile:=True, _
                        Collate:=True, _
                        PrToFileName:="FileName")

3.1.4.4取消保護工作表: 取消保護 Excel 工作表。
worksheet.Unprotect("Password")

3.1.4.5取消保護活頁簿: 取消保護 Excel 活頁簿。
workbook.Unprotect("Password")

3.1.4.6取消保護圖表: 取消保護 Excel 圖表物件。
chart.Unprotect("Password")

3.1.4.7保護工作表: 保護工作表和內容。
worksheet.Protect( Password:="Password", _
                        DrawingObjects:=True, _
                     Contents:=True, _
                        Scenarios:=True, _
                        UserInterfaceOnly:=True, _
                        AllowFormattingCells:=True, _
                        AllowFormattingColumns:=True, _
                        AllowFormattingRows:=True, _
                        AllowInsertingColumns:=True, _
                        AllowInsertingRows:=True, _
                        AllowInsertingHyperlinks:=True, _
                        AllowDeletingColumns:=True, _
                        AllowDeletingRows:=True, _
                        AllowSorting:=True, _
                        AllowFiltering:=True, _
                        AllowUsingPivotTables:=True)

3.1.4.8保護活頁簿: 保護 Excel 活頁簿和內容。
workbook.Protect("Password", True, True)

3.1.4.9保護圖表: 保護 Excel 圖表物件。
chart.Protect( "Password", _
                   True, _
                   True,
                   scenarios, _
                   True)

3.1.4.10設定活頁簿儲存狀態: 設定 Excel 活頁簿的儲存狀態。
workbook.Saved = True

3.1.4.11檢查活頁簿的儲存狀態: 檢查 Excel 活頁簿的儲存狀態。
If (workbook.Saved) Then
    ' TODO: Insert code for when the workbook has been saved.
Else
    ' TODO: Insert code for when the workbook has not been saved.
End If

3.1.4.12讀取Excel內建屬性: 從 Excel 活頁簿讀取內建屬性。
Dim docProperties As Office.DocumentProperties = CType(workbook.BuiltinDocumentProperties, Office.DocumentProperties)
Dim propertyValue As Office.DocumentProperty = CType(docProperties.Item("Title"), Office.DocumentProperty)


3.2Office
3.2.1伺服器,快取資料,伺服器文件
3.2.1.1讀取自訂文件屬性: 從 Word 文件或 Excel 活頁簿讀取自訂文件屬性 的值。
Dim customDocProperties As Office.DocumentProperties = CType(document.CustomDocumentProperties, Office.DocumentProperties)
Dim propertyValue As propertyType = CType(customDocProperties.Item("Property Name").Value, propertyType)

3.2.2環境,功能表,執行窗格
3.2.2.1加入功能表項目: 將功能表項目加入至 Office 功能表。
newMenuItem = commandBar.Controls.Add(Type:=Office.MsoControlType.msoControlPopup, Before:=1, Temporary:=True)
newMenuItem.Tag = "ControlTag"

3.2.2.2加入自訂文件屬性: 將自訂文件屬性加入至 Word 文件或 Excel 活頁簿。
Dim newProperty As Office.DocumentProperty
newProperty = CType(document.CustomDocumentProperties, _
                         Office.DocumentProperties).Add( _
                         "New Property Name", False, _
                         Office.MsoDocProperties.msoPropertyTypeString, "New _
                         Property Value")

3.2.2.3加入命令列: CommandBar 物件加入至 Office 文件。
Dim commandBarsCollection As Office.CommandBars = CType(commandBarHost.CommandBars, Office.CommandBars)
newCommandBar = commandBarsCollection.Add("Command Bar Name", msoBarTop, True, True)

3.2.2.4刪除自訂文件屬性: Word 文件或 Excel 活頁簿刪除自訂文件屬性。
CType(document.CustomDocumentProperties, Office.DocumentProperties).Item("Property Name").Delete()

3.2.2.5DateTime轉換成OLE日期: System.DateTime 物件轉換成 OLE 格式的日期。
Dim 2.25 as Double
2.25 = dateTime.ToOADate()

3.2.2.6OLE日期轉換成DateTime: OLE 格式的日期轉換成 System.DateTime 值。
Dim dateTime As Double
dateTime = DateTime.FromOADate(2.25)

3.2.2.7OLE色彩轉換成色彩: 將儲存為 OLE 格式的色彩轉換成 System.Drawing.Color 物件。
Dim color As Color
color = ColorTranslator.FromOle(&HFF00)

3.2.2.8將色彩轉換成OLE色彩: System.Drawing.Color 物件轉換成 OLE 色彩格式。
Dim &HFF00 as Integer
&HFF00 = ColorTranslator.ToOle(color)

3.2.2.9尋找功能表項目: Word Excel 命令列中尋找功能表項目。
menuItem = commandBar.FindControl( Type:=msoControlPopup, _
                                            Id:=1234, _
                                            Tag:="ControlTag", _
                                            Visible:=False, _
                                            Recursive:=True)

3.2.2.10尋找命令列: 在 Word 文件或 Excel 活頁簿中尋找 CommandBar 物件。
Dim commandBarsCollection As Office.CommandBars = CType(commandBarHost.CommandBars, Office.CommandBars)
Try
   commandBar = commandBarsCollection.Item("Menu Bar")
Catch ex As ArgumentException
    ' TODO: Add code to run if the specified command bar does not exist.
End Try


3.3Word
3.3.1格式化
3.3.1.1反白顯示範圍: 在 Word 文件中將醒目提示色彩套用到範圍。
range.HighlightColorIndex = Word.WdColorIndex.wdYellow

3.3.1.2建立表格: Word 文件中建立表格。
Dim defaultTableBehavior As Object = Word.WdDefaultTableBehavior.wdWord9TableBehavior
Dim autoFitBehavior As Object = Word.WdAutoFitBehavior.wdAutoFitContent
document.Tables.Add(Range, 2, 5, defaultTableBehavior, autoFitBehavior)

3.3.1.3將範圍設成加底線: 在 Word 文件中設定範圍的底線屬性。
range.Font.Underline = Word.WdUnderline.wdUnderlineSingle

3.3.1.4將範圍設成斜體: 在 Word 文件中設定範圍的斜體屬性。
range.Font.Italic = CInt(Word.WdConstants.wdToggle)

3.3.1.5將範圍設成粗體:在 Word 文件中設定範圍的粗體屬性。
range.Font.Bold = CInt(Word.WdConstants.wdToggle)

3.3.1.6設定範圍的字型: 在 Word 文件中設定範圍的字型。
range.Font = font

3.3.1.7設定範圍的字型大小: 在 Word 文件中設定範圍的字型大小。
range.Font.Size = 10

3.3.1.8設定範圍的字型色彩: 設定 Word 範圍中的字型色彩。
range.Font.Color = Word.WdColor.wdColorAutomatic

3.3.1.9設定範圍的對齊: 設定範圍的段落對齊。
range.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphLeft

3.3.1.10設定範圍的樣式: 在 Word 文件中設定範圍的樣式。
Dim style As Object = document.Styles.Item(Word.WdBuiltinStyle.wdStyleNormal)
range.Style = style


3.3.2控制項
3.3.2.1XML匯入到XMLNode: XML 資料匯入到 Word XMLNode 物件中。
xmlNode.LoadXml(xmlData)

3.3.2.2將資料繫結到書籤: 透過 BindingSource 物件將資料繫結到 Word 書籤物件。
Dim bindingSource As BindingSource = New BindingSource()
bindingSource.DataSource = dataSource
bindingSource.DataMember = "DataMember"
bookmark.DataBindings.Add("Text", bindingSource, "FieldName")


3.3.3環境,文件變數
3.3.3.1文件拼字檢查: Word 文件中檢查拼字。
document.CheckSpelling( CustomDictionary:=customDictionary, _
                             IgnoreUppercase:=True, _
                             AlwaysSuggest:=True _
                             CustomDictionary2:=customDictionary2, _
                             CustomDictionary3:=customDictionary3, _
                             CustomDictionary4:=customDictionary4, _
                             CustomDictionary5:=customDictionary5, _
                             CustomDictionary6:=customDictionary6, _
                             CustomDictionary7:=customDictionary7, _
                             CustomDictionary8:=customDictionary8, _
                             CustomDictionary9:=customDictionary9, _
                             CustomDictionary10:=customDictionary10,);

3.3.3.2列印Word文件: 設定印表機選項並且列印 Word 文件。
document.PrintOut( Background:=True, _
                        Append:=True, _
                        Range:=wdPrintAllDocument, _
                        OutputFileName:="MyOutputFile", _
                        From:=1, _
                        To:10, _
                        Item:=Word.WdPrintOutItem.wdPrintDocumentContent, _
                        Copies:=1, _
                        Pages:="1-10", _
                        PageType:=Word.WdPrintOutPages.wdPrintAllPages, _
                        PrintToFile:=False, _
                        Collate:=True, _
                        ActivePrinterMacGX:=ActivePrinterMacGX, _
                        ManualDuplexPrint:=True, _
                        PrintZoomColumn:=2, _
                        PrintZoomRow:=2, _
                        PrintZoomPaperWidth:=10, _
                        PrintZoomPaperHeight:=20)

3.3.3.3取消保護文件: 從 Word 文件移除保護。
document.Unprotect("Password")

3.3.3.4保護文件: 設定 Word 文件的保護屬性。
document.Protect( Word.WdProtectionType.wdAllowOnlyReading, _
                      True, _
                       "Password", _
                       True, _
                      True)

3.3.3.5XML插入Word範圍中: 將 XML 資料插入 Word 文件中的範圍中。
Dim transform As Object = transformValue
range.InsertXML(xmlData, transform)

3.3.3.6將結構描述安裝在程式庫中: 將 XML 結構描述安裝在 Word 的結構描述程式庫中。
Dim xmlNamespaceURI As Object = CType(@"http://tempuri.org/schemauri.xsd", Object)
Dim xmlNamespaceAlias As Object = CType("Schema Alias", Object)
xmlNamespace = document.Application.XMLNamespaces.Add("SchemaPath", xmlNamespaceURI, xmlNamespaceAlias, False)

3.3.3.7將結構描述附加到文件: 從 Word 的結構描述程式庫將結構描述附加到文件。
' The document object must be a Microsoft.Office.Interop.Word.Document object.
' If you are using the Microsoft.Office.Tools.Word.Document class to handle your
' document, use the InnerObject property to get the interop object.
xmlNamespace.AttachToDocument(document)

3.3.3.8從範圍取得WordML: 從 Word 文件中的範圍取得 XML 資料,包括 WordML 標記。
xmlData = range.XML(False)

3.3.3.9從範圍取得XML: 從 Word 文件中的範圍取得沒有 WordML 標記的 XML 資料。
xmlData = range.XML(true)

3.3.3.10設定追縱修訂: 在 Word 文件中開啟或關閉追蹤修訂。
' NOTE: The document must be selected or this command will fail.
document.TrackRevisions = True

3.3.3.11檢查文件中的選取範圍: 檢查 Word 中目前的選取範圍是否在指定的 Word 文件中。
If (document.Application.Selection.InRange(document.Range)) Then
    ' TODO: Insert code to run if the selection is in the current document.
Else
    ' TODO: Insert code to run if the selection is not in the current document.
End If

3.3.3.12檢查文件是否已儲存: 檢查 Word 文件是否已儲存。
If (document.Saved) Then
    ' TODO: Insert code to run if the document has been saved.
Else
    ' TODO: Insert code to run if the document has not been saved.
End If

3.3.3.13讀取Word內建屬性: 從 Word 文件讀取內建屬性值。
Dim docProperties As Office.DocumentProperties = CType(document.BuiltInDocumentProperties, Office.DocumentProperties)
Dim propertyValue As Object = docProperties.Item(Word.WdBuiltInProperty.wdPropertyTitle).Value


3.3.3.14顯示或隠藏XML標記: 在 Word 文件中顯示或隱藏 XML 標記。
document.ActiveWindow.View.ShowXMLMarkup = CInt(1)

相關貼文

沒有留言:

張貼留言

頁次