Tôi m?i đ? t? đ?ng hóa, nơi có th? t?m th?y các ngu?n l?c t?t đ? t?m hi?u thêm?
Có nhi?u cách khác nhau, tôi có th? s? d?ng t? đ?ng hóa?
COM là g??
Làm th? nào đ? đính kèm trư?ng h?p ch?y c?a m?t ?ng d?ng văn ph?ng?
Làm th? nào đ? tôi có th? vư?t qua tham s? tùy ch?n?
Làm th? nào đ? b?t s? ki?n ti?p xúc v?i các ?ng d?ng văn ph?ng?
M? c?a tôi t? đ?ng hóa là quá ch?m. Làm th? nào có th? t?c đ? đi?u?
Các giá tr? l?n l?i, gi?ng như-2147352573 ho?c 0x80030002, có ngh?a là g??
M?t thư vi?n ki?u là g??
T? đ?ng hóa m? c?a tôi làm vi?c v?i Microsoft Excel 95, nhưng th?t b?i v?i
Microsoft Excel 97. T?i sao?
T?i sao không ? các ?ng d?ng tôi đang t? đ?ng hoá l?i trong b? nh? sau khi chương tr?nh c?a tôi
là hoàn thành?
Tôi bi?t nh?ng g? tôi mu?n làm như là m?t ngư?i s? d?ng ?ng d?ng Microsoft Office, nhưng
làm th? nào đ? tôi làm đi?u này l?p tr?nh b?ng cách s? d?ng t? đ?ng hóa?
Tôi có th? t? đ?ng hoá m?t ?ng d?ng Microsoft Office nhúng?
Làm th? nào đ? truy c?p vào thu?c tính tài li?u c?a tôi trong m?t tài li?u Microsoft Office?
Câu h?i và câu tr? l?i
T? đ?ng hóa là g??
T? đ?ng hóa (trư?c đây OLE Automation) là m?t công ngh? mà cho phép b?n
t?n d?ng l?i th? c?a m?t chương tr?nh hi?n có ch?c năng và k?t h?p nó
vào ?ng d?ng c?a riêng b?n. Ví d?, b?n có th? s? d?ng Microsoft
T? chính t? và ng? pháp ki?m tra kh? năng vào ?ng d?ng c?a b?n
không có Microsoft Word Hi?n th? cho ngư?i dùng c?a b?n. B?n th?m chí có th? s? d?ng t?t c?
trong Microsoft Excel bi?u đ?, in ?n, và d? li?u phân tích c?. Đi?u này
công ngh? có th? r?t đơn gi?n hóa và tăng t?c đ? phát tri?n c?a b?n.
Tôi m?i đ? t? đ?ng hóa, nơi có th? t?m th?y các ngu?n l?c t?t đ? t?m hi?u thêm?
Chương 24 trên t?ng David Kruglinski "Bên trong Visual C ++" (ISBN:1-57231 - 565 -
2) cung c?p m?t t?ng quan c?ng như m?t s? ví d? tuy?t v?i. Ngoài ra,
cơ s? ki?n th?c Microsoft là m?t ngu?n thông tin t?t. Đi?u này
bài báo đó là m?t s? kh?i đ?u t?t, và b?n có th? t?m th?y c? th? hơn
tài li?u tham kh?o trong bài vi?t sau trong cơ s? ki?n th?c Microsoft:
Có nhi?u cách khác nhau, tôi có th? s? d?ng t? đ?ng hóa?
Có ba cách cơ b?n, b?n có th? s? d?ng t? đ?ng hóa: MFC, #import, và
C/C + +:
V?i MFC, s? d?ng Visual C++ ClassWizard đ? t?o ra "bao b?c
l?p h?c"t? Microsoft Office lo?i thư vi?n. Các l?p h?c, như
c?ng như các l?p h?c khác c?a MFC, ch?ng h?n như COleVariant, COleSafeArray,
COleException, đơn gi?n hóa các nhi?m v? c?a t? đ?ng hóa. Phương pháp này là
thư?ng đư?c đ? ngh? trên nh?ng ngư?i khác, và h?u h?t c?a Microsoft
Ki?n th?c cơ s? ví d? s? d?ng MFC.
#Import, m?t ch? th? m?i đ? s?n sàng v?i Visual C++ 5.0,
t?o ra VC ++ "thông minh con tr?" t? m?t thư vi?n c? th? lo?i. Nó là
r?t m?nh m?, nhưng thư?ng không đư?c khuy?n cáo v? tài li?u tham kh?o -
đ?m v?n đ? thư?ng x?y ra khi đư?c dùng v?i Microsoft
Các ?ng d?ng văn ph?ng.
T? đ?ng hóa C/C++ là nhi?u khó khăn hơn, nhưng đôi khi c?n thi?t đ?
tránh các chi phí v?i MFC, ho?c các v?n đ? v?i #import. V? cơ b?n, b?n
làm vi?c v?i các API CoCreateInstance() và COM giao di?n
ch?ng h?n như IDispatch và IUnknown.
Nó là quan tr?ng c?n lưu ? r?ng có m?t s? khác bi?t nh? gi?a
T? đ?ng hóa t? C++ so v?i đ?ng b?ng C, b?i v? COM đư?c thi?t k? xung quanh thành ph?
l?p C++. Đ? bi?t thêm chi ti?t, xin vui l?ng xem các bài vi?t sau đây trong
Các cơ s? ki?n th?c Microsoft cho m?t ví d? C:
T? đ?ng hóa d?a trên mô h?nh đ?i tư?ng thành ph?n (COM). COM là m?t
ki?n trúc ph?n m?m tiêu chu?n d?a trên giao di?n, và đư?c thi?t k? đ? có
M? tách ra thành các đ?i tư?ng khép kín. H?y suy ngh? c?a nó như là m?t ph?n m? r?ng
Các mô h?nh đ?i tư?ng theo đ?nh hư?ng l?p tr?nh (OOP), nhưng áp d?ng cho
phân tách các ?ng d?ng. M?i đ?i tư?ng đưa ra m?t t?p các giao di?n, và t?t c?
giao ti?p v?i m?t đ?i tư?ng, ch?ng h?n như kh?i t?o, thông báo, và
truy?n d? li?u, x?y ra thông qua các giao di?n này.
COM c?ng là m?t t?p h?p các d?ch v? đư?c cung c?p b?i thư vi?n liên k?t đ?ng (DLL)
cài đ?t v?i h? đi?u hành. T? đ?ng s? d?ng nhi?u ngư?i trong s? nh?ng ngư?i
D?ch v?. M?t ví d? là d?ch v? "Marshalling", nh?ng gói các
?ng d?ng khách hàng các cu?c g?i đ?n các ch?c năng thành viên c?a máy ch?
?ng d?ng c?a giao di?n và vư?t qua nh?ng ngư?i, có l?p lu?n c?a h?, đ?n các
máy ch? ?ng d?ng. Nó làm cho nó xu?t hi?n r?ng giao di?n c?a máy ch?
ti?p xúc trong không gian b? nh? c?a khách hàng, mà không ph?i là trư?ng h?p khi các
khách hàng là m?t .exe ch?y trong không gian quá tr?nh riêng c?a m?nh. Marshalling c?ng
đư?c giá tr? tr? l?i t? h? ph?c v? phương pháp tr? l?i qua quá tr?nh
ranh gi?i và m?t cách an toàn vào tay cu?c g?i c?a khách hàng. Có
nhi?u d?ch v? khác c?n thi?t đ? t? đ?ng hóa đư?c cung c?p b?i các
khác nhau COM thư vi?n. Bao g?m các ngu?n thông tin v? nh?ng
"Bên trong Ole - ?n b?n th? hai" b?i Kraig Brockschmidt, ISBN 1-55615-843-2,
"Bên trong COM" b?i Dale Rogerson - ISBN 1-57231-349-8, và "t? đ?ng hóa
L?p tr?nh viên c?a tài li?u tham kh?o,"ISBN 1-57231-584-9.
Làm th? nào đ? đính kèm trư?ng h?p ch?y c?a m?t ?ng d?ng văn ph?ng?
S? d?ng GetActiveObject() API. T? đ?ng hóa các máy ch? đăng k? chính nó trong
ROT (ch?y b?ng đ?i tư?ng), thông qua RegisterActiveObject() API.
T? đ?ng hóa khách hàng có th? nh?n đư?c t?i ví d? ch?y v?i m? ch?ng h?n như:
// Translate server ProgID into a CLSID. ClsidFromProgID
// gets this information from the registry.
CLSID clsid;
CLSIDFromProgID(L"Excel.Application", &clsid);
// Get an interface to the running instance, if any..
IUnknown *pUnk;
HRESULT hr = GetActiveObject(clsid, NULL, (IUnknown**)&pUnk);
ASSERT(!FAILED(hr));
// Get IDispatch interface for Automation...
IDispatch *pDisp;
hr = pUnk->QueryInterface(IID_IDispatch, (void **)&pDisp);
ASSERT(!FAILED(hr));
// Release the no-longer-needed IUnknown...
pUnk->Release();
LƯU ?: N?u có nhi?u trư?ng h?p ch?y ?ng d?ng văn ph?ng, b?n mu?n đính kèm, b?n s? ch? có th? đính kèm vào ph?n đ?u tiên đ? đư?c đưa ra b?ng cách s? d?ng GetActiveObject() API.
V? l? thuy?t, b?n có th? iterate ROT cho m?i trư?ng h?p cá nhân, nhưng
Các ?ng d?ng văn ph?ng không đăng k? chính nó, n?u m?t th? hi?n khác đ?
t?i ROT là b?i v? bi?t danh cho chính nó luôn luôn như nhau (CNTT
không th? đư?c phân bi?t anyway). Đi?u này có ngh?a r?ng b?n không th? đính kèm vào
b?t k? trư?ng h?p ngo?i tr? nh?ng ngư?i đ?u tiên. Tuy nhiên, b?i v? các ?ng d?ng văn ph?ng c?ng
đăng k? tài li?u c?a h? trong ROT, b?n thành công có th? đính kèm vào
trư?ng h?p khác b?i iterating ROT t?m ki?m m?t tài li?u c? th?,
g?n v?i nó, sau đó nh?n đư?c ?ng d?ng đ?i tư?ng t? nó. Có
m?t s? m? trong bài vi?t cơ s? ki?n th?c Microsoft sau đây cho
iterating ROT và t?m ki?m m?t tên tài li?u:
B?n không c?n ph?i làm đi?u này cho PowerPoint, b?i v? nó là m?t đ?a đơn
?ng d?ng ví d?; b?n có th? ch? c?n m?t ví d? c?a nó đang ch?y.
Làm th? nào đ? tôi có th? vư?t qua tham s? tùy ch?n?
M?t s? phương pháp có "tùy ch?n" tham s?. Trong Visual Basic, b?n có th?
t?nh c? b? qua chúng khi g?i các phương pháp. Tuy nhiên, khi kêu g?i v?i
Visual c + +, b?n ph?i vư?t qua m?t phiên b?n đ?c bi?t có trư?ng .vt là
VT_ERROR, và .scode trư?ng là DISP_E_PARAMNOTFOUND. Đó là:
// VARIANT used in place of optional-parameters.
VARIANT varOpt;
varOpt.vt = VT_ERROR;
varOpt.scode = DISP_E_PARAMNOTFOUND;
Đi?u này là th?c s? nh?ng g? Visual Basic làm c?nh.
Làm th? nào đ? b?t s? ki?n ti?p xúc v?i các ?ng d?ng văn ph?ng?
V? cơ b?n b?n th?c hi?n các giao di?n s? ki?n b?n mu?n n?m b?t (các
"ch?m"), và thi?t l?p m?t k?t n?i tư v?n v?i các ?ng d?ng (the
"ngu?n"). Bài vi?t sau đây cung c?p cho b?n các ví d? t?ng bư?c cho
Microsoft Word:
HOWTO: B?t s? ki?n ?ng d?ng Microsoft Word97 b?ng cách s? d?ng VC ++
Nói chung, đ? thi?t l?p k?t n?i tư v?n, b?n nh?n đư?c các máy ch?
IConnectionPointContainer và g?i FindConnectionPoint() v?i IID c?a
giao di?n s? ki?n. Đi?u này cung c?p cho b?n m?t giao di?n IConnectionPoint và
T?t c? nh?ng g? c?n l?i là đ? g?i Advise() v?i m?t trư?ng h?p c?a s? ki?n c?a b?n
giao di?n. Các máy ch? s? sau đó các cu?c g?i tr? l?i thông qua giao di?n khi
nh?ng s? ki?n x?y ra.
M? c?a tôi t? đ?ng hóa là quá ch?m. Làm th? nào có th? t?c đ? đi?u?
M?t nguyên nhân ph? bi?n c?a các v?n đ? t?c đ? v?i t? đ?ng hóa là l?p đi l?p l?i
đ?c và vi?t d? li?u. Đi?u này là đi?n h?nh cho t? đ?ng hóa Excel
khách hàng. Tuy nhiên, h?u h?t m?i ngư?i không nh?n th?c đư?c r?ng d? li?u này thư?ng có th?
b?ng văn b?n ho?c đ?c t?t c? m?t l?n s? d?ng SAFEARRAY. Xem Microsoft sau
Bài vi?t cơ s? ki?n th?c đ? bi?t thêm thông tin và các ví d? v? thông tin:
HOWTO: S? d?ng MFC đ? t? đ?ng hoá Excel và t?o/đ?nh d?ng b?ng tính m?i
Ngoài ra, nó là quan tr?ng đ? ch? ra r?ng b?ng cách s? d?ng có th? b?ng t?m
đôi khi, c?i thi?n hi?u su?t. Ví d?, b?n có th? sao chép d? li?u c?a b?n
Các khay nh? t?m, sau đó s? d?ng t? đ?ng hóa b?o v?i máy ch? đ? dán. Ho?c phó-
ngư?c l?i; cho bi?t các máy ch? sao chép vào clipboard, và dán vào c?a b?n
?ng d?ng.
Nh?ng g? các giá tr? l?n l?i, ch?ng h?n như-2147352573 ho?c 0x80030002
có ngh?a là?
Nh?ng giá tr? này đư?c g?i là HRESULTs và đư?c đ?nh ngh?a trong winerror.h. Các
con s? này là r?t l?n b?i v? là ngư?i đ?u tiên chút đ?i di?n cho hay không nó
là m?t k?t qu? c?a l?i. B?n có th? s? d?ng ti?n ích ErrLook.Exe mà đi kèm v?i
Visual C ++ đ? d?ch nh?ng con s? này vào mô t? có ? ngh?a.
N?u b?n mu?n l?p tr?nh có đư?c mô t? các l?i, b?n
có th? s? d?ng FormatMessage() API. Xem Microsoft Knowledge sau
Các bài vi?t cơ s? đ? bi?t thêm thông tin và các ví d? v? vi?c s? d?ng
FormatMessage():
LƯU ?: N?u b?n đang s? d?ng Visual C ++ 6.0 và có m?t bi?n có ch?a giá tr? này trong c?a s? xem g? l?i, thêm ", nhân s?" (không có d?u ngo?c kép) vào nó đ? có Visual C++ d?ch nó cho b?n!
M?t thư vi?n ki?u là g??
Thư vi?n lo?i là tương t? như m?t t?p tin tiêu đ? C/C++. Nó ch?a các
giao di?n, phương pháp, và các tính năng mà m?t máy ch? xu?t b?n. B?n có th?
Xem thư vi?n ki?u v?i ngư?i xem đ?i tư?ng OLE/COM (Oleview.exe) mà
đi kèm v?i Visual c + +. Dư?i đây là m?t danh sách các tên t?p tin thư vi?n ki?u cho
Microsoft Office 95, 97, và năm 2000:
Office Application | Type library
------------------------+----------------
Word 95 and prior | wb70en32.tlb
Excel 95 and prior | xl5en32.olb
Powerpoint 95 and prior | Powerpoint.tlb
Access 95 and prior | msaccess.tlb
Binder 95 | binder.tlb
Schedule+ | sp7en32.olb
Project | pj4en32.olb
Team Manager | mstmgr1.olb
Word 97 | msword8.olb
Excel 97 | excel8.olb
Powerpoint 97 | msppt8.olb
Access 97 | msacc8.olb
Binder 97 | msbdr8.olb
Graph 97 | graph8.olb
Outlook 97 | msoutl8.olb
Outlook 98 | msoutl85.olb
Word 2000 | msword9.olb
Excel 2000 | excel9.olb
Powerpoint 2000 | msppt9.olb
Access 2000 | msacc9.olb
Outlook 2000 | msoutl9.olb
Word 2002 | msword.olb
Excel 2002 | excel.exe
Powerpoint 2002 | msppt.olb
Access 2002 | msacc.olb
Outlook 2002 | msoutl.olb
T? đ?ng hóa m? c?a tôi làm vi?c v?i Excel 95, nhưng th?t b?i v?i Excel 97.
Đi?u g? đang x?y ra v?y?
Các mô h?nh đ?i tư?ng cho Excel th?c hi?n m?t thay đ?i đáng k? t? phiên b?n 95
97. Excel 95 th?c hi?n t?t c? các phương pháp và các thu?c tính trong m?t đ?a đơn
th?c hi?n IDispatch. Đi?u này có ngh?a r?ng thư?ng b?n có th? g?i
phương pháp có ngh?a là cho đ?i tư?ng X, t? đ?i tư?ng Y. Đi?u này là không m?t thi?t k? t?t,
V? v?y, trong văn ph?ng 97, m?i đ?i tư?ng có riêng c?a m?nh tách Idispatch
th?c hi?n. Đi?u này có ngh?a r?ng n?u b?n yêu c?u cho m?t phương pháp hay tài s?n t?
đ?i tư?ng X t? m?t đ?i tư?ng riêng bi?t Y, b?n nh?n đư?c l?i 0x80020003,
-2147352573, "Thành viên không đư?c t?m th?y." Đ? tránh l?i này, b?n c?n ph?i th?c hi?n
ch?c ch?n r?ng giao di?n IDispatch n?m bên dư?i b?n đang th?c hi?n cu?c g?i t?
là m?t ng? ngh?a chính xác. Xem Microsoft Knowledge sau
Bài vi?t cơ s? cho bi?t thêm thông tin:
HOWTO: Kh?c ph?c s? c? "Thành viên không đư?c t?m th?y", 0x80020003 l?i
Các ?ng d?ng tôi đang t? đ?ng hoá đư?c trong b? nh? sau khi chương tr?nh c?a tôi là
đ? hoàn thành. Đi?u g? đang x?y ra v?y?
Nhi?u kh? năng, đi?u này là b?i v? b?n đ? quên đ? phát hành m?t mua
giao di?n và b?n s? c?n ph?i theo d?i nó. Dư?i đây là m?t s? chung
g?i ? và nh?ng đi?u c?n t?m ki?m:
N?u b?n đang s? d?ng #import, nó là r?t có kh? năng b?n có th? ch?y vào m?t trong các tài li?u tham kh?o-đ?m l?i liên k?t v?i nó. Thông thư?ng
Các l?i có th? đư?c làm vi?c xung quanh, nhưng thư?ng nó ưa thích đ? s? d?ng m?t
Các phương pháp t? đ?ng hóa khác. #Import không làm vi?c r?t t?t
v?i các ?ng d?ng văn ph?ng, b?i v? các lo?i thư vi?n và s? d?ng
là khá ph?c t?p. Ngoài ra, v?n đ? đ?m tham chi?u như v?y là khó khăn
đ? theo d?i b?i v? r?t nhi?u c?p đ? giao di?n COM g?i
đ?ng khi s? d?ng #import.
Ki?m tra xem n?u b?n đang g?i đi?n tho?i b?t k? phương pháp, ch?ng h?n như m?, ho?c m?i,
mà tr? v? m?t IDispatch * (LPDISPATCH), và b? qua s? tr? l?i
giá tr?. N?u b?n đang có, sau đó b?n đang b? giao di?n này tr? l?i
và s? c?n ph?i thay đ?i m? c?a b?n v? v?y b?n phát hành nó khi không có
c?n c?n thi?t.
D?n d?n các b?nh lu?n trong các ph?n c?a m? c?a b?n cho đ?n khi v?n đ?
bi?n m?t, sau đó thêm nó tr? l?i khôn ngoan đ? theo d?i nơi các
v?n đ? b?t đ?u.
Lưu ? r?ng m?t s? ?ng d?ng s? ? l?i ch?y n?u ngư?i dùng có th?
"xúc đ?ng" ?ng d?ng. N?u đi?u này x?y ra trong khi b?n t? đ?ng hoá,
sau đó các ?ng d?ng có th? s? đư?c ch?y sau đó. Các
?ng d?ng văn ph?ng có m?t tài s?n "UserControl" trên các ?ng d?ng
đ?i tư?ng mà b?n có th? đ?c/ghi đ? thay đ?i hành vi này.
Ngoài ra, m?t s? ?ng d?ng s? quy?t đ?nh đ? ch?y n?u đ?
giao di?n ngư?i dùng "hành đ?ng" đ? x?y ra. N?u b?n đang có ? đ?nh các
Các ?ng d?ng đ? thoát kh?i, sau đó g?i phương pháp Quit() c?a nó trên các ?ng d?ng
đ?i tư?ng. T? s? t?t máy b?t k? tài li?u tham kh?o tin c?y khi
B? thu?c lá đư?c g?i là. Đây không ph?i là hành vi d? ki?n COM. Excel, Tuy nhiên,
đúng ch? s? ?n chính nó nhưng trú ch?y cho đ?n khi t?t c? xu?t s?c
giao di?n đư?c phát hành. Nói chung, b?n nên th? t?t c?
xu?t s?c tham kh?o, và ch? g?i Quit() n?u b?n có ? đ?nh các
?ng d?ng đ? b? thu?c lá.
Tôi bi?t nh?ng g? tôi mu?n làm như là m?t ngư?i s? d?ng ?ng d?ng văn ph?ng, nhưng làm th? nào đ? tôi làm đi?u này l?p tr?nh thông qua t? đ?ng hóa?
Nh?ng g? b?n đang quan tâm đ?n vi?c là đ?i tư?ng, phương pháp, và thu?c tính b?n
b?n ph?i s? d?ng. Cách t?t nh?t đ? t?m hi?u làm th? nào đ? đi?u hư?ng các mô h?nh đ?i tư?ng c?a
Word, Excel và Powerpoint, d?a trên nh?ng g? b?n mu?n làm như là m?t ngư?i s? d?ng, là
đ? s? d?ng Macro ghi. Ch? c?n ch?n Macro\ 'K? l?c m?i Macro' t? các
Menu công c?, th?c hi?n các công vi?c b?n đang quan tâm đ?n, sau đó ch?n
Macro\ 'd?ng ghi âm.' M?t khi b?n đ? hoàn t?t ghi âm, ch?n Macro\Macros
t? tr?nh đơn Tools, ch?n các v? mô mà b?n ghi, sau đó nh?p vào ch?nh s?a.
Đi?u này s? đưa b?n đ? t?o ra m? VBA s? th?c hi?n các
tác v? b?n ghi l?i. H?y nh? các v? mô đư?c ghi nh?n s? không th? là t?t nh?t
M? có th? trong h?u h?t trư?ng h?p, nhưng nó đ? làm r?t t?t cho m?t cách nhanh chóng
Ví d?.
Tôi có th? t? đ?ng hoá m?t ?ng d?ng văn ph?ng nhúng?
Hoàn toàn. Bí quy?t là nh?n đư?c con tr? IDispatch: đi?u này đư?c đưa ra trong
Visual C ++ k? thu?t n?t 39 (TN039). Xem Microsoft sau
Bài vi?t cơ s? ki?n th?c cho m?t ví d? t?ng bư?c:
HOWTO: Nhúng và t? đ?ng hoá m?t b?ng tính Microsoft Excel v?i MFC
Làm th? nào đ? truy c?p vào thu?c tính tài li?u c?a tôi trong m?t tài li?u văn ph?ng?
Thu?c tính tài li?u có th? truy c?p thông qua t? đ?ng hóa, ho?c
tr?c ti?p thông qua IPropertyStorage. Bài vi?t cơ s? ki?n th?c Microsoft sau đây ch?ng minh m?i phương pháp:
ID c?a bài: 196776 - L?n xem xét sau cùng: 27 Tháng Giêng 2013 - Xem xét l?i: 4.0
Áp d?ng
Microsoft Visual C++ 2008 Express Edition
Microsoft Project 2000 Standard Edition
Microsoft Excel 2000 Standard Edition
Microsoft Visual C++ 5.0 Enterprise Edition
Microsoft Visual C++ 5.0 Professional Edition
Microsoft Access 97 Standard Edition
Microsoft Excel 97 Standard Edition
Microsoft PowerPoint 97 Standard Edition
Microsoft Outlook 97 Standard Edition
Microsoft Word 97 Standard Edition
Microsoft Access 2000 Standard Edition
Microsoft PowerPoint 2000 Standard Edition
Microsoft Outlook 2000 Standard Edition
Microsoft Word 2000 Standard Edition
Microsoft Access 2002 Standard Edition
Microsoft Excel 2002 Standard Edition
Microsoft PowerPoint 2002 Standard Edition
Microsoft Word 2002 Standard Edition
Microsoft Outlook 2002 Standard Edition
T? khóa:
kbsweptvs2008 kbautomation kbmt KB196776 KbMtvi
Máy d?ch
QUAN TRỌNG: Bài vi?t này đư?c d?ch b?ng ph?n m?m d?ch máy c?a Microsoft ch? không ph?i do con ngư?i d?ch. Microsoft cung c?p các bài vi?t do con ngư?i d?ch và c? các bài vi?t do máy d?ch đ? b?n có th? truy c?p vào t?t c? các bài vi?t trong Cơ s? Ki?n th?c c?a chúng tôi b?ng ngôn ng? c?a b?n. Tuy nhiên, bài vi?t do máy d?ch không ph?i lúc nào c?ng hoàn h?o. Lo?i bài vi?t này có th? ch?a các sai sót v? t? v?ng, cú pháp ho?c ng? pháp, gi?ng như m?t ngư?i nư?c ngoài có th? m?c sai sót khi nói ngôn ng? c?a b?n. Microsoft không ch?u trách nhi?m v? b?t k? s? thi?u chính xác, sai sót ho?c thi?t h?i nào do vi?c d?ch sai n?i dung ho?c do ho?t đ?ng s? d?ng c?a khách hàng gây ra. Microsoft c?ng thư?ng xuyên c?p nh?t ph?n m?m d?ch máy này.
Nh?p chu?t vào đây đ? xem b?n ti?ng Anh c?a bài vi?t này: 196776