Tải bản đầy đủ (.pdf) (5 trang)

Thêm biểu đồ vào tài liệu bằng tính năng office web components

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (96.96 KB, 5 trang )

Thêm biểu đồ vào tài liệu bằng tính năng
Office Web Components
Tuy Microsoft Word, Excel, PowerPoint đã có sẵn công cụ vẽ biểu đồ mạnh mẽ và cách
sử dụng khá đơn giản nhưng trong một số trường hợp việc vẽ biểu đồ bằng ngôn ngữ
VBA từ tính năng Office Web Components sẽ đơn giản và thuận tiện hơn.
Bài viết này giới thiệu đến các bạn cách chèn một biểu đồ trực tiếp vào tài liệu Word
bằng cách sử dụng mã VBA. Bạn cũng có thể thực hiện tương tự đối với Microsoft Excel
và Microsoft PowerPoint.

1. Kích hoạt tính năng Design Mode

Đầu tiên, bạn mở tài liệu Word rồi vào menu File > chọn Options rồi bấm vào mục
Customise Ribbon. Trong khung Customise the Ribbon bên phải, bạn đánh dấu chọn vào
mục Developer ở khung Main Tabs, bấm OK.

Trở về cửa sổ Word, bạn sẽ thấy thêm một menu Developer trên thanh menu. Trong
nhóm Controls, bạn bấm vào tính năng Design Mode để kích hoạt tính năng này.

2. Chèn biểu đồ

Bài viết này sử dụng biểu đồ hiển thị dữ liệu ngân sách tháng hiện tại với ngân sách trung
bình hàng tháng tính từ đầu năm. Trong ví dụ này, tác giả đặt các giá trị trong một mảng
ngay bên trong mã VBA nhưng bạn có thể sử dụng nhiều kỹ thuật để tải các biến mảng từ
nhiều nguồn khác, ví dụ từ một tâp tin bảng tính hoặc từ một biểu mẫu được nhập liệu
hàng tháng.


Sau khi kích hoạt tính năng Design Mode, bạn bấm vào biểu tượng thư mục/công cụ
Legacy Tools trong nhóm Controls. Trong hộp thoại xổ xuống, bạn bấm vào tính năng
More Controls bên dưới mục ActiveX Controls. Trong hộp thoại hiện ra, bạn kéo thanh
trượt và tìm trong danh sách Microsoft Office Chart xx.x, bấm OK. Khi xong, bên trong


tài liệu của bạn xuất hiện một biểu đồ trống có tên là Microsoft Office Web Components,
sẵn sàng hiển thị nếu nhập dữ liệu vào.
Bước tiếp theo, bạn cần phải viết một đoạn mã VBA quy định kiểu biểu đồ và hiển thị dữ
liệu. Nếu muốn quá trình nạp và hiển thị dữ liệu có sự điều khiển thì bạn có thể tạo ra
một nút bấm trên tài liệu. Nhưng bạn vẫn có thể thực hiện việc này một cách tự động
bằng cách đặt hàm Document_Open() vào trong đoạn mã VBA, rồi thêm vào bên trong
tính năng đó đoạn mã sau:
Private Sub Document_Open()
Dim i As Integer
Dim oChart
Dim oSeries1
Dim oSeries2
'Create arrays for the x-values and the y-values
Dim xValues As Variant, yValues1 As Variant, yValues2 As Variant
xValues = Array("Electric Bill", "Mortgage", "Phone Bill", "Heating Bill", "Groceries",
"Gasoline", "Clothes", "Shopping")
yValues1 = Array(124.53, 1250.24, 45.43, 253.54, 143.32, 259.85, 102.5, 569.94)
yValues2 = Array(110, 1250, 50, 200, 130, 274, 95, 300)
Trong đoạn mã trên gồm ba kiểu mảng, đầu tiên là kiểu xValues là trục x mô tả cho mỗi
phần tử dữ liệu, kiểu yValues1 dùng để tạo ra đồ thị dạng cột, kiểu yValues2 dùng để tạo
ra đồ thị đường thẳng. Bạn tiếp tục thêm đoạn mã:
With ThisDocument.ChartSpace1
.Clear
.Refresh
Set oChart = .Charts.Add


oChart.HasTitle = True
oChart.Title.Caption = "Monthly Budget Numbers vs Average"
Đoạn mã này giúp tạo ra một biểu đồ trống, chưa có một dữ liệu nào trong thời điểm này.

Nhưng với một vài dòng lệnh sau, bạn có thể thêm vào tiêu đề cho biểu đồ, cũng như chú
thích.
Set oSeries1 = oChart.SeriesCollection.Add

With oSeries1

.Caption = "This Month"
.SetData chDimCategories, chDataLiteral, xValues
.SetData chDimValues, chDataLiteral, yValues1
.Type = chChartTypeColumnClustered

End With

'Add another series to the chart with the x-values and y-values
'from the arrays and set the series type to a line chart
Set oSeries = oChart.SeriesCollection.Add

With oSeries

.Caption = "Average Spending"
.SetData chDimCategories, chDataLiteral, xValues
.SetData chDimValues, chDataLiteral, yValues2
.Type = chChartTypeLineMarkers

End With


Đoạn mã trên giúp tạo ra hai dạng hiển thị trong biểu đồ của bạn. Kiểu thứ nhất được
thiết lập để hiển thị các đối tượng như là định dạng ColumnClustered, kiểu thứ hai được
thiết lập để hiển thị các đối tượng như là định dạng TypeLineMarkers. Bây giờ, bạn thêm

vào dữ liệu và hoàn thành các chi tiết của biểu đồ bằng đoạn mã sau:

'Format the Value Axes
oChart.Axes(chAxisPositionLeft).NumberFormat = "$#,##0"
oChart.Axes(chAxisPositionLeft).MajorUnit = 1000
'Show the legend at the bottom of the chart
oChart.HasLegend = True
oChart.Legend.Position = chLegendPositionBottom
End With
End Sub
Khi xong, bạn lưu tài liệu và nạp thêm dữ liệu vào hai mảng. Có thể xem biểu đồ minh
họa:

3. Lưu ý

- Nếu xuất hiện thông báo The function you are attempting to run contains macros... khi
bấm vào tính năng Design Mode thì bạn đưa đĩa cài đặt vào ổ đĩa, rồi chạy lại tập tin cài
đặt, chọn Add or Remove Feature, bấm Continue. Trong cửa sổ tiếp theo, bạn tìm đến
nhóm Office Shared Features rồi chọn Run from My Computer ở mục Visual Basic for
Application, bấm Continue để bắt đầu tiến trình cài đặt bổ sung.


- Nếu không tìm thấy tính năng Microsoft Office Chart trong hộp thoại More Controls thì
bạn truy cập vào địa chỉ để tải và cài đặt thêm tính năng này
cho bộ ứng dụng văn phòng.



×