tft每日頭條

 > 生活

 > excelrange的用法

excelrange的用法

生活 更新时间:2024-07-30 19:09:29

分享成果,随喜正能量】不要對失去過于糾結,這不僅有利于讓你放下曾經的美好事物,也有利于讓你在面對現在所擁有的一切,能夠更加安心、更加踏實。。

《VBA之Word應用》,是我推出第八套教程,教程是專門講解VBA在Word中的應用,圍繞“面向對象編程”講解,首先讓大家認識Word中VBA的對象,以及對象的屬性、方法,然後通過實例讓大家感受到Word VBA 的妙處。本套教程共三冊十六章,今日内容第六章 “Word中的Range對象(下)”第3節:Range範圍的調整及EXCEL單元格及圖表插入

excelrange的用法(Range範圍的調整及EXCEL單元格及圖表插入)1

第三節 Range對象的方法(七)

大家好,我們這講繼續Range對象方法的講解,在上一講中我們講解了Range對象的InsertParagraph方法、InsertParagraphAfter方法、InsertParagraphBefore方法,這節我們将講解SetRange 方法、PasteAndFormat方法、PasteSpecial 方法。

1 Range.SetRange方法

這種方法設置現有範圍的起始字符和結束字符的位置。

語法:expression. SetRange(Start, End)

其中expression 是必需的,是一個代表Range對象的變量

參數:

1)Start 必需 Long 範圍的起始字符位置。

2)End 必需 Long 範圍的結束字符位置。

  • 字符位置值從文章的開頭開始,第一個值為0(零)。 将計算所有字符,包括非打印字符。 隐藏字符即便未顯示也計算在内。
  • SetRange 方法以重新定義現有的 Range 對象的起始和結束位置。此方法不同于Range方法,後者用于在給出起始和結束位置的情況下創建範圍。
2 Range.PasteAndFormat方法

該方法粘貼選定的表格單元格,并為其設置指定的格式。

語法:expression.PasteAndFormat(Type)

其中expression 是必需的,是一個代表Range對象的變量

參數:Type 必需 WdRecoveryType 粘貼所選的表格單元格時使用的格式類型。

WdRecoveryType 枚舉值:

wdChart 14 将 Microsoft Office Excel 圖表粘貼為嵌入的 OLE 對象

wdChartLinked 15 粘貼 Excel 圖表并将其鍊接到原始 Excel 電子表格

wdChartPicture 13 将 Excel 圖表粘貼為圖片

wdFormatOriginalFormatting 16 保留所粘貼材料的原始格式

wdFormatPlainText 22 粘貼為無格式的純文本文字

wdFormatSurroundingFormattingWithEmphasis 20 使所粘貼文本的格式與周圍文本的格式匹配

wdListCombineWithExistingList 24 将粘貼的列表與鄰近的列表合并.

wdListContinueNumbering 7 使粘貼的列表根據文檔中的列表繼續編号。

wdListDontMerge 25 不支持.

wdListRestartNumbering 8 對粘貼的列表重新進行編号

wdPasteDefault 0 不支持.

wdSingleCellTable 6 将單個單元格表格粘貼為獨立的表格。.

wdSingleCellText 5 将單個單元格粘貼為文本.

wdTableAppendTable 10 通過在所選行之間插入粘貼的行,将粘貼的單元格合并到現有的表格中

wdTableInsertAsRows 11 将粘貼的表格作為行插入到目标表格的兩行中間.

wdTableOriginalFormatting 12 粘貼一個追加的表格,而不合并表格樣式.

wdTableOverwriteCells 23 粘貼表格單元格并覆蓋現有的表格單元格.

wdUseDestinationStylesRecovery 19 使用目标文檔中使用的樣式.

3 Range.PasteSpecial方法

該方法插入剪貼闆中的内容

語法:expression.PasteSpecial (IconIndex, Link, Placement, DisplayAsIcon, DataType, IconFileName, IconLabel)

其中expression 是必需的,是一個代表Range對象的變量

參數:

1) IconIndex 可選 Variant 如果 DisplayAsIcon 為 True,則該自變量是一個數字,對應于要在 IconFilename 指定的程序文件中使用的圖标。 圖标顯示在“更改圖标”對話框中:0(零)對應于第一個圖标,1 對應于第二個圖标,依此類推。 如果此參數被省略,使用的是第一個(默認)圖标。

2)Link 可選 Variant 如果為 True,則創建指向“剪貼闆”内容源文件的鍊接。 默認值為 False。

3)Placement 可選 Variant 可以為下列 WdOLEPlacement 常量之一:wdFloatOverText 或 wdInLine。 默認值為 wdInLine。

4)DisplayAsIcon 可選 Variant 如果為 True,則将鍊接顯示為圖标。 默認值為 False 。

5)DataType 可選 Variant 剪貼闆内容在插入文檔後采用的格式。 可以為任意 WdPasteDataType 常量。

6)IconFileName 可選 Variant 如果 DisplayAsIcon 為 True,則此參數是存儲要顯示的圖标的文件的路徑和文件名。

7)IconLabel 可選 Variant 如果 DisplayAsIcon 為 True,則此參數是顯示在圖标下方的文本。

WdPasteDataType 枚舉:

wdPasteBitmap 4 位圖.

wdPasteDeviceIndependentBitmap 5 與設備無關的位圖.

wdPasteEnhancedMetafile 9 增強型圖元文件

wdPasteHTML 10 HTML.

wdPasteHyperlink 7 超鍊接.

wdPasteMetafilePicture 3 圖元文件圖片.

wdPasteOLEObject 0 OLE 對象.

wdPasteRTF 1 RTF 格式

wdPasteShape 8 形狀

wdPasteText 2 文本

4 實例:Range範圍的調整及EXCEL單元格及圖表插入

下面我們通過一個實例來講解一下本節的知識點,這個實例中我們先定義一個Range,為當前文檔的第二段,然後利用SetRange來擴展這個範圍。

之後我們在文檔的最後插入一個空的段落,将光标移到這個空段落之處。

緊接着,我們要打開一個Excel文件,從這個文件中,我們把B2單元格複制到剪貼闆,并将剪貼闆的内容以對象的格式粘貼到光标處。

之後,我們再次在文檔的最後插入一個空的段落,将光标移到這個空段落之處。并将Excel文件中的圖表複制到剪貼闆中,并将剪貼闆中的内容粘貼到光标處。

最後關閉Excel文件。

我們先看一下代碼:

Sub mynzB()

[代碼見教程]

End Sub

代碼截圖:

excelrange的用法(Range範圍的調整及EXCEL單元格及圖表插入)2

代碼解讀:

1)Set myRange = ActiveDocument.Paragraphs(2).Range

MsgBox myRange.Text

以上代碼設置 myRange 并提示給用戶myRange 内容。

2)myRange.SetRange Start:=myRange.Start, _

End:=ActiveDocument.Paragraphs(3).Range.End

MsgBox myRange.Text

以上代碼調整 myRange的範圍并提示給用戶myRange 内容。

3) ActiveDocument.Content.InsertParagraphAfter

myRange.SetRange Start:=ActiveDocument.Paragraphs(ActiveDocument.Paragraphs.Count).Range.Start, _

End:=ActiveDocument.Paragraphs(ActiveDocument.Paragraphs.Count).Range.End - 1

myRange.Select

以上代碼在活動文檔的末尾插入一個段落,并将光标位置調整到最後。

4)Set myEXL = CreateObject("excel.application")

myfile = "EXCEL工作簿.XLSX"

myEXL.workbooks.Open ActiveDocument.Path & "\" & myfile

myEXL.Visible = True

設置要打開的文件,并打開這個文件。

5)myEXL.Sheets("Sheet1").Range("B2").Copy

Selection.Collapse Direction:=wdCollapseStart

Selection.Range.PasteSpecial DataType:=wdPasteOLEObject

'将單元格B2以單元格的形式粘貼wdPasteOLEObject是單元格的格式,如果是文本的格式可以用wdPasteText。

6) ActiveDocument.Content.InsertParagraphAfter

myRange.SetRange Start:=ActiveDocument.Paragraphs(ActiveDocument.Paragraphs.Count).Range.Start, _

End:=ActiveDocument.Paragraphs(ActiveDocument.Paragraphs.Count).Range.End

myRange.Select

以上代碼再次在活動文檔的末尾插入一個段落,并重置光标位置

7) myEXL.Sheets("Sheet1").ChartObjects(1).Copy

Selection.PasteAndFormat Type:=wdChartPicture

以上代碼複制圖表并粘貼,粘貼的是圖片的格式

8)myEXL.workbooks.Close

Set myEXL = Nothing

以上關閉Excel文件。

最後我們看代碼的運行:

Excel工作表的界面如下:

excelrange的用法(Range範圍的調整及EXCEL單元格及圖表插入)3

代碼運行的提示框:

excelrange的用法(Range範圍的調整及EXCEL單元格及圖表插入)4

excelrange的用法(Range範圍的調整及EXCEL單元格及圖表插入)5

excelrange的用法(Range範圍的調整及EXCEL單元格及圖表插入)6

我們在當前文檔中可以看一下圖表的格式,會發現這個圖表是圖片格式的。

今日内容回向:

1 Word中Range對象的SetRange 方法、PasteAndFormat方法、PasteSpecial 方法的意義是什麼?

2 如何利用VBA插入單元格及圖表?

本講内容參考程序文件:Doc 006文檔.docm

excelrange的用法(Range範圍的調整及EXCEL單元格及圖表插入)7

我20多年的VBA實踐經驗,全部濃縮在下面的各個教程中:

excelrange的用法(Range範圍的調整及EXCEL單元格及圖表插入)8

分享成果,随喜正能量】得與失,是一種選擇,也是一種放棄,沒有一種選擇十全十美,沒有一次決定萬無一失。讓自己豁達起來對于已經失去的東西,你或許也應該慶幸,它們不會再打擾你的内心。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved