• Hiện tại trang web đang trong quá hình chuyển đổi và tái cấu trúc lại chuyên mục nên có thể một vài chức năng chưa hoàn thiện, một số bài viết và chuyên mục sẽ thay đổi. Nếu sự thay đổi này làm bạn phiền lòng, mong bạn thông cảm. Chúng tôi luôn hoan nghênh mọi ý kiến đóng góp để chúng tôi hoàn thiện và phát triển. Cảm ơn

Thủ thuật mẹo vặt PC ngày 30/04/2008

thangbengangnguoc

New Member
Tải file lên Google Docs dễ dàng bằng cách kéo thả.

Thông thường, khi sử dụng dịch vụ văn phòng trực tuyến của Google, người dùng có thể tải trực tiếp các file văn bản, bảng tính hay tập tin trình chiếu lên ngay trong ứng dụng Google Docs hoặc bằng cách gửi thư đính kèm tập tin tới một địa chỉ email ngẫu nhiên Google cung cấp cho. Mới đây, một ứng dụng khá hữu ích được nhiều người sử dụng là DocSyncer cho phép đồng bộ hoá MS Word và Google Docs, giúp rút ngắn quá trình phức tạp này. Như hiểu được nguyện vọng của người sử dụng, Google cũng đã cho ra đời một ứng dụng tí hon cũng có tính năng tương tự như DocSyncer. Đó là DocListUploader.

1.JPG

Đầu tiên, bạn tải DocListUploader có dung lượng 232 KB tại đây. Ưu điểm cơ bản nhất từ tiện tích này khi so sánh với DocSyncer là bạn không cần phải đăng kí một tài khoản nào khác ngoài chính tài khoản sử dụng ở Google Docs.

Sau khi cài đặt chương trình là bạn có thể sử dụng ngay lập tức. Nhập tên tài khoản Gmail, mật khẩu và nhấp Login. Chỉ cần đánh dấu tích vào ô Add DocListUploader to right click menu để kích hoạt chức năng tải file lên Google Docs từ menu chuột phải. Sau khi đăng nhập thành công, DocListUploader sẽ hiện ra những file văn bản có trong Google Docs của bạn.

2.JPG

Thuận tiện hơn rất nhiều với tiện ích của Google.

Để tải file lên, bạn có thể sử dụng từ ngữ cảnh menu chuột phải hoặc bằng cách kéo thả từ máy tính của bạn tới DocListUploader. Chờ một lát, DocListUploader sẽ báo cho bạn biết đã tải thành công tài liệu lên Google Docs.

Ngay trong menu ngữ cảnh của chương trình, bạn còn có thể nhanh chóng chỉnh sửa các tập tin văn bản, bảng tính...của mình thông qua click vào tên tập tin. DocListUploader sẽ gọi trình duyệt và mở tập tin được yêu cầu trong GoogleDocs để bạn chỉnh sửa theo ý muốn.

Một điều khá hạn chế của...người dùng là thường sử dụng chính tài khoản với ID và mật khẩu đăng nhập sử dụng dịch vụ Gmail thay vì đăng kí dịch vụ Google Docs bằng địa chỉ email của một nhà cung cấp dịch vụkhác như Yahoo, AOL hay Hotmail. Điều này sẽ hạn chế khả năng bị tấn công đánh cắp thông tin tài khoản vì phần nào đánh lừa được các phần mềm gián điệp. Sử dụng công cụ DocListUploader mới nhất của Google cũng không phải là một ngoại lệ!

Bạn chỉ cần logout để thoát khỏi chương trình khi không muốn sử dụng. Công việc sao lưu các tập tin văn bản và các tập tin văn phòng nói chung sẽ trở nên đơn giản hơn nhiều.

Chúc Vui!!!!
Theo thongtincongnghe
 

thangbengangnguoc

New Member
Tạo phông lịch chuyên nghiệp với MS Publisher

Năm mới đang đến gần, thị trường lịch đang sôi nổi sắc màu và hình ảnh. Ngồi trước máy vi tính, bạn có nghĩ đến những trang lịch có hình của người thân và gia đình để trang trí trong nhà cũng như tặng nhau nhân dịp đầu xuân? MS Publisher (MSP) chính là phần mềm bạn cần vì nó dễ tìm, dễ sử dụng và lại chuyên nghiệp nữa.

1198916911_vanphong.jpg

Khác với các phần mềm thiết kế lịch chuyên nghiệp vừa cồng kềnh vừa khó dùng, khác với MS Word quá đơn giản chỉ tạo được những tờ lịch riêng cho từng tháng, MS Publisher -người anh em của Word - có thể cho bạn những mẫu lịch rất tuyệt theo năm hay tháng tùy thích mà lại rất dễ tinh chỉnh thay đổi khuôn mẫu thiết kế. Bài viết này giới thiệu một số cách tạo lịch với MSP 2000 (MSP 97 có hơi khác một chút và không chuyên nghiệp bằng).

Cách 1: Làm theo chương trình hướng dẫn


Để bắt đầu, khởi động MSP, gọi File->New (Ctrl+N), trên hộp thoại Catalog hiện ra, chọn thẻ Publication by Wizard, chọn Calendars bên cột Wizard rồi chọn một mẫu lịch ở cột Full Page Calendar, nhấn Start Wizard (Hình 1). Quá trình thực hiện gồm các bước:

• B1: Giao diện Introductions xuất hiện, nhấn Next.

• B2: Color Scheme, chọn màu thích hợp, nhấn Next.

• B3: Orientation, chọn kiểu trang lịch đứng (Portrait) hay nằm ngang (Lanscape), nhấn Next.

• B4: Month/Year, chọn kiểu lịch tháng (monthly) hay lịch năm (yearly), nhấn Next.

• B5: Dates, nhấn nút Change Date để thay đổi tháng, năm cho tờ lịch. (Hình 2)

• B6: Nhấn Finish để hoàn tất.

Bây giờ là bước chỉnh sửa theo sở thích của bạn. Bạn hãy xóa hết những hình ảnh hay những chữ không thích, rồi sử dụng thanh công cụ dọc bên trái màn hình để chèn hình, thêm câu chúc mừng cho tờ lịch thêm sinh động. Khi sử dụng các chức năng của thanh công cụ này, sau khi nhấn vào một biểu tượng, bạn phải vẽ một khung trước lên trang thiết kế rồi mới tiến hành thiết kế cho từng đối tượng. Với MSP, bạn có thể dễ dàng điều chỉnh kích thước khung lịch chứa ngày tháng theo ý thích, các đối tượng ngoan ngoãn di chuyển khi con trỏ chuột biến thành hình một chiếc xe tải (Hình 3).

Cách 2: Chủ động ngay từ đầu

Khởi động MSP, nhấn biểu tượng New trên trang công cụ Standards, một trang trắng xuất hiện, bạn hãy chèn hình, nhập chữ chào mừng, tạo khung viền tùy thích cho tờ lịch, nhớ để một khoảng thích hợp để chèn ngày tháng khung lịch lên trang. Để chèn khung lịch, gọi Insert, Design Gallery Object... hộp thoại Design Gallery hiện ra, trong vùng Categories chọn Calendars rồi chọn một mẫu lịch tùy thích ở khung bên cạnh và nhấn Insert Object. Bạn điều chỉnh kích cỡ khung lịch cho cân đối.

Nếu muốn nền khung lịch không còn màu trắng nữa mà trong suốt cùng với nền của tờ lịch, dùng chuột chọn hết khung lịch, đặt chuột trên khung lịch rồi nhấn chuột phải, chọn Change Table->Fill Color->No Fill (Hình 4). Hãy đặt phía sau khung lịch một ảnh để bớt đơn điệu.

Nếu muốn thay đổi tháng năm trên tờ lịch, nhấn chọn biểu tượng cây đũa thần phía dưới khung lịch, hộp thoại Calandar Creation Wizards xuất hiện, chọn Dates, nhấn nút Change Date rồi tiến hành thay đổi như Hình 2.

Mẫu trên tôi đã thực hiện chỉ bằng MS Publisher, bạn thấy không tệ chút nào phải không. Hãy vận dụng óc thẩm mỹ của bạn cùng những hình ảnh đẹp để có được những tờ lịch độc đáo tặng người thân và bạn bè nhân dịp năm mới và nhớ cám ơn MS Publisher.

Chúc Vui!!!!
Theo bantincongnghe
 

thangbengangnguoc

New Member
Tạo công cụ học từ vựng trong Excel

Có bao giờ các bạn nghĩ tới việc tạo công cụ học từ vựng trong Excel giống như các chương trình học tiếng Anh không?

Đầu tiên bạn hãy tạo một file Excel mới và đặt tên là Timer (bạn có thể đặt tên khác). Bạn xóa hết các sheet, chỉ để lại một sheet và đặt tên là Data. Khối dữ liệu của chúng ta sẽ có 2 cột: Cột một là tựa đề, cột hai là nội dung. Chú ý là các hàng dữ liệu phải liên tục nhau.

Tiếp theo, chúng ta tạo một module và đặt tên là ModuleTimer và nhập đoạn code 1. Ở đây chúng ta dùng hai hàm API là SetTimer và KillTimer.

Tạo một form với tên là frmMain với thuộc tính ShowModal là False như và thêm các đối tượng sau:

- TextBox txtTopic với thuộc tính WordWrap là True

- TextBox txtDescriptions với thuộc tính WordWrap là True

- 4 nút lệnh với tên lần lượt: cmdStart, cmdStop, cmdSetTime, cmdClose, với thuộc tính Caption lần lượt: Bắt đầu học, Ngừng học, Định thời gian, Đóng.

Và bây giờ bạn hãy nhập đoạn code 2 cho form frmMain.

Bước cuối cùng, bạn hãy trở về màn hình soạn thảo Excel.

Cho hiện thanh công cụ Visual Basic (View->Toolbars->Control Toolbox), chọn Command Button (Hình 3) và đặt lên sheet Data, đặt tên là cmdHoc với thuộc tính Caption là Học. Sau đó nhấn đúp vào nút lệnh để nhập đoạn mã sau:

Private Sub cmdHoc_Click()

frmMain.Show

End Sub

Bây giờ bạn hãy trở về màn hình soạn thảo Excel và tắt chế độ Design (nhấn vào biểu tượng thước Ê ke và cây viết), và hãy thử nhấn vào nút lệnh vừa tạo xem sao. Một công cụ học từ vựng thật đơn giản, phải không các bạn.

Hy vọng rằng bài viết này hữu ích cho các bạn.




CODE 1




Public Declare Function SetTimer Lib "user32"( ByVal HWnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
Public Declare Function KillTimer Lib "user32" ( ByVal HWnd As Long, ByVal nIDEvent As Long) As Long
Public TimerID As Long
Public TimerSeconds As Single
Public BLDefaul As Boolean
Public StrTopic As String
Public StrDes As String
Public IntCount As Integer
Public BLHaveStartTimer As Boolean
Sub StartTimer()
If BLDefaul = False Then
TimerSeconds = 3 ' Mặc định là 1 giây
End If
TimerID = SetTimer(0&, 0&, TimerSeconds * 1000&, AddressOf TimerProc)
End Sub
Sub SetTime()
Dim VTime As Single
Dim VAns As String
BLDefaul = False
VAns = InputBox("Xin nhập vào thời gian (giây) cho timer ", "Định thời gian")
If Len(VAns) = 0 Then
BLDefaul = False
Else
VTime = CSng(VAns)
TimerSeconds = VTime
BLDefaul = True
End If
End Sub
Sub EndTimer()
On Error Resume Next
KillTimer 0&, TimerID
End Sub
Sub TimerProc(ByVal HWnd As Long, ByVal uMsg As Long, ByVal nIDEvent As Long, ByVal dwTimer As Long)
'
' The procedure is called by Windows. Put your
' timer-related code here.
'
On Error GoTo Thongbao1
If IntCount = 0 Then IntCount = 2



MsgBox "Dữ liệu của bạn không có!", vbOKOnly, "Công cụ học từ vựng"
Exit Sub
End If
Else
IntCount = IntCount + 1
End If
frmMain.txtTopic.Text = StrTopic
frmMain.txtDescriptions.Text = StrDes
DoEvents
Exit Sub
Thongbao1:
Call EndTimer
End Sub

CODE 2
Private Sub cmdClose_Click()
If BLHaveStartTimer = True Then
Call cmdStop_Click
End If
End
End Sub
' Nhằm bảo đảm nếu đã gọi Timer rồi thì sẽ không gọi nữa
Private Sub cmdSetTime_Click()
Call SetTime
Call cmdStop_Click
Call cmdStart_Click
End Sub
Private Sub cmdStart_Click()
If BLHaveStartTimer = False Then
Call StartTimer
BLHaveStartTimer = True
End If
End Sub
Private Sub cmdStop_Click()
Call EndTimer
BLHaveStartTimer = False
End Sub
Private Sub UserForm_
QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = vbFormControlMenu Then
Cancel = True
MsgBox "Xin bạn đóng bằng nút lệnh ĐÓNG!", vbOKOnly, "Công cụ học từ vựng"
End If
End Sub

StrTopic = Application.Workbooks("Timer").
Sheets("Data").Cells(IntCount, 1)
StrDes = Application.Workbooks("Timer").
Sheets("Data").Cells(IntCount, 2)
If Len(Trim(StrTopic)) = 0 Then
IntCount = 2
StrTopic = Application.Workbooks("Timer").
Sheets("Data").Cells(IntCount, 1)
StrDes = Application.
Workbooks("Timer").Sheets("Data").
Cells(IntCount, 2)
If Len(Trim(StrTopic)) = 0 Then
BLHaveStartTimer = False
Call EndTimer

Chúc Vui!!!!
Theo bantincongnghe
 

thangbengangnguoc

New Member
Sắp xếp tiếng Việt Unicode trong MS Access

Qua bài viết này tôi muốn chia sẻ kinh nghiệm xử lý việc sắp xếp chữ Việt Unicode trong Access. Việc thực hiện không đòi hỏi nhiều kiến thức về Unicode, chỉ cần bộ gõ hỗ trợ Unicode (Vietkey, Unikey...) và một chút kiến thức về Visual Basic. File Access mẫu có thể tải về ở website TGVT-PCWVN.

1. Bước 1: Chuẩn bị?

Tôi sử dụng một TextBox của control 'Microsoft Forms 2.0 Object Library' để chứa chuỗi ký tự Việt Unicode. Do trong MS.Access không cho đưa vào trực tiếp Form 2.0 nên chúng ta sẽ khởi động MS.Excel hoặc MS.Word, vào Tools.Macro.Visual Basic Editor (Alt-F11). Trong cửa sổ MS.Visual Basic, vào Insert.UserForm (đặt tên là ForChuama), trên UserForm vừa tạo thêm phần tử TextBox (đặt tên là TextUni). Nhập trực tiếp (hay nhập vào MS.Word và copy) vào TextUni chuỗi ký tự Việt Unicode được sắp xếp theo chuẩn từ điển tiếng Việt sau:

AaÀàẢảÃãÁáẠạĂăẰằẲẳẴẵẮắẶặÂâẦầẨẩẪẫẤấẬậBbCcDdĐđEeÈèẺẻẼẽÉéẸẹÊêỀềỂểỄễẾ
ếỆệFfGgHhIiÌìỈỉĨĩÍíỊịJjKkLlMmNnOoÒòỎỏÕõÓóỌọÔôỒồỔổỖỗỐốỘộƠơỜờỞởỠỡỚớỢợPp
QqRrSsTtUuÙùỦủŨũÚúỤụƯưỪừỬửỮữỨứỰựVvWwXxYyỲỳỶỷỸỹÝýỴỵZz

Sau đó vào File.Export file, lưu UserForm thành một file riêng với tên ForChuama.frm. Đến đây là xong bước chuẩn bị.

2. Bước 2

Mở CSDL Access, vào Tools.Macro.Visual Basic Editor (Alt-F11). Trong cửa sổ MS.Visual Basic chọn File.Import file, chọn UserForm vừa lưu ở trên, lúc này trong project của MS.Visual Basic Access có thêm đối tượng form tên là Forchuama có chứa TextBox TextUni.

3. Bước 3

Để viết hàm sử dụng cho CSDL, chúng ta sẽ chèn vào MS.Visual Basic Access một module: Insert.Module. Trong module chúng ta tạo hai hàm:

• Hàm Daonguoc đảo ngược chuỗi ký tự họ tên; ví dụ: 'Nguyễn Kim Yến' thành 'Yến Kim Nguyễn'.

Function Daonguoc(St As String) As String

Dim Kq, Temp As String

Dim nn

nn = InStr(St, ' ')

Kq = ''

Do While nn <> 0

Kq = Trim(Left(St, nn)) + ' ' + Kq

St = Trim(Right(St, Len(St) - nn))

nn = InStr(St, ' ')

Loop

Daonguoc = St + ' ' + Trim(Kq)

End Function

• Hàm Mahoa mã hoá chuỗi họ tên đã đảo ngược được so sánh trong đối tượng TextBox TextUni thành chuỗi tăng dần của chuỗi chuẩn sắp xếp theo mã ASCII. Hàm này sẽ được sử dụng trong các Query (truy vấn SQL).

Public Function Mahoa(Chuoi As String) As String

Dim chmh, ktdoi, chuv, chkq, kti As String

Dim i, vt, nn3

chmh= 'aaabacadaeafagahaiajakalamanaoapaqarasatauavawaxaybabcbbbdbebfbgb
hbibjbkblbmbnbobpbqbrbsbtbubvbwbxbybzcacbcccdcecfcgchcicjckclcmcncocpcqcr
csctcucvcwcxcyczdadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzeaeb
ecedeeefegeheiejekelemeneoepeqereseteuevewexeyezfafbfcfdfefffgfhfifjfkflfmfnfofpfqf
rfsftfufvfwfxfyfzgagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzhahbhchd'

chuv = ForChuama.TextUni 'Chuỗi Unicode để so sánh

Chuoi = Daonguoc(Chuoi)

nn3 = Len(Chuoi)

chkq = ''

For i = 1 To nn3

kti = Mid(Chuoi, i, 1)

vt = InStr(chuv, kti)

If vt <> 0 Then

ktdoi = Mid(chmh, 2 * vt - 1, 2)

chkq = chkq + ktdoi

Else

chkq = chkq + kti

End If

Next i

Mahoa = chkq

End Function

A0412_LTN_140a.jpg


A0412_LTN_140b.jpg


A0412_LTN_140c.jpg

4. Bước 4: Sử dụng

Giả sử ta muốn sắp xếp dữ liệu HotenHs trong table Hocsinh (H1). Trong cửa sổ Queries ta thiết kế một Query và chèn một field với dữ liệu là chuỗi ký tự được mã hoá từ hàm Mahoa([Hocsinh]![HotenHs]). Field được chèn chọn Sort là Ascending (Nếu sắp theo chiều giảm chọn Descending), không hiển thị field này nên bỏ chọn CheckBox thuộc tính Show (H2). Khi mở Query này, ta có dữ liệu được sắp xếp theo thứ tự chuẩn tiếng Việt (H3).

Hy vọng thông qua 4 bước trên bạn có thể lập trình để sắp xếp chuẩn tiếng Việt Unicode.

Chú ý: Win98 bị hạn chế Unicode nên nếu hiển thị Report thì một số chữ hiển thị không đúng (ví dụ chữ 'Mười'), còn các HĐH Win2000/XP hiển thị rất tốt.

Chúc Vui!!!!
Theo bantincongnghe
 
Top