Icon của Office 2003 sao như thế này? (1 người xem)

  • Thread starter Thread starter linhlan
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

linhlan

Thành viên chính thức
Tham gia
9/8/10
Bài viết
71
Được thích
204
Không rõ, sao 1 thời gian cài lại máy tính, các biểu tượng của Excel hoặc Word trong các files không như bình thường. Làm cách nào để khắc phục lại các files lưu ở Excel hoặc Word cho thể hiện đúng Icon của Excel hoặc Word. Rất nhiều tập tin trong trường hợp này. Nếu tôi, thêm phần đuôi (phần mở rộng) của tập tin đó như xls hoặc doc thì sẽ hiển thị đúng icon của Excel hoặc Word. Có cách nào thay đổi 1 loạt các tập tin trong trường hợp này không? Hay là lỗi của bộ office 2003 của tôi đã cài đặt.
Thông tin thêm cho trường hợp này: Cũng các files không thể đúng icon của bộ office 2003 nhưng tôi share file này trên mạng nội bộ thì máy khác thấy icon của các files trên bình thường. Xin cám ơn

icon_error.png
 
Không rõ, sao 1 thời gian cài lại máy tính, các biểu tượng của Excel hoặc Word trong các files không như bình thường. Làm cách nào để khắc phục lại các files lưu ở Excel hoặc Word cho thể hiện đúng Icon của Excel hoặc Word. Rất nhiều tập tin trong trường hợp này. Nếu tôi, thêm phần đuôi (phần mở rộng) của tập tin đó như xls hoặc doc thì sẽ hiển thị đúng icon của Excel hoặc Word. Có cách nào thay đổi 1 loạt các tập tin trong trường hợp này không? Hay là lỗi của bộ office 2003 của tôi đã cài đặt.
Thông tin thêm cho trường hợp này: Cũng các files không thể đúng icon của bộ office 2003 nhưng tôi share file này trên mạng nội bộ thì máy khác thấy icon của các files trên bình thường. Xin cám ơn
- Mở My Computer
- Vào menu Tools\Folder Options ---> Chuyển sang tab View và bỏ chọn mục "Hide extensions for know file types"
- Bấm nút Apply --> OK

untitled1.JPG


- Làm xong rồi, giờ hãy nhìn lại các biểu tương file, cái nào thiếu đuôi .xls thì bạn hãy tự thêm bằng tay vào
 
Bạn ơi có cách nào rename 1 loạt các files đó sang dạng xls hoặc doc không? Chứ click vào file và chọn rename thì tội tôi quá. Hãy thương tình dành chút thời gian giúp tôi trong trường hợp này. Không rõ lệnh Dos có lệnh nào không nhỉ? Không rõ tại sao máy khác đọc qua các files đó không bị như vậy nhỉ? Xin cám ơn bạn đã quan tâm đọc qua topic này. Đã có nhờ chuyên viên máy tính xuống cơ quan mà vẫn chỉnh không được
 
Bạn ơi có cách nào rename 1 loạt các files đó sang dạng xls hoặc doc không? Chứ click vào file và chọn rename thì tội tôi quá. Hãy thương tình dành chút thời gian giúp tôi trong trường hợp này. Không rõ lệnh Dos có lệnh nào không nhỉ? Không rõ tại sao máy khác đọc qua các files đó không bị như vậy nhỉ? Xin cám ơn bạn đã quan tâm đọc qua topic này. Đã có nhờ chuyên viên máy tính xuống cơ quan mà vẫn chỉnh không được
Tôi nghĩ là hoàn toàn làm được bằng Excel VBA ---> Nếu bạn đồng ý, tôi sẽ tiến hành viết code ngay bây giờ!
 
Vâng thưa cám ơn bạn rất nhiều. Thông tin các files này nằm rải rác trên khắc ổ đĩa D: và E: cùng các thư mục
Tải file đính kèm dưới đây về và chạy...
Xem thêm hình hướng dẩn sử dụng:

untitled1.JPG

Thật ra code chính cũng khá đơn giản, chỉ vầy thôi:
PHP:
Sub RenameNonExt(sFolder As String, InSub As Boolean)
  Dim FileItem, SubFolder, FileName As String
  On Error GoTo ExitSub
  If Right(sFolder, 1) <> "\" Then sFolder = sFolder & "\"
  With CreateObject("Scripting.FileSystemObject")
    For Each FileItem In .GetFolder(sFolder).Files
      If .GetExtensionName(FileItem) = "" Then
        FileItem.Name = FileItem.Name & ".xls"
      End If
    Next FileItem
    If InSub Then
      For Each SubFolder In .GetFolder(sFolder).SubFolders
        RenameNonExt SubFolder.Path, True
      Next SubFolder
    End If
  End With
ExitSub:
End Sub
 

File đính kèm

Lần chỉnh sửa cuối:
Bạn ơi có cách nào rename 1 loạt các files đó sang dạng xls hoặc doc không? Chứ click vào file và chọn rename thì tội tôi quá. Hãy thương tình dành chút thời gian giúp tôi trong trường hợp này. Không rõ lệnh Dos có lệnh nào không nhỉ? Không rõ tại sao máy khác đọc qua các files đó không bị như vậy nhỉ? Xin cám ơn bạn đã quan tâm đọc qua topic này. Đã có nhờ chuyên viên máy tính xuống cơ quan mà vẫn chỉnh không được

Bạn mở trình soạn thảo Notepad: Rename *. *.xls (hoặc Rename *. *.doc)ghi lại thành file *.bat (VD:ReName.BAT)
Muốn đổi tên file trong thư mục nào thì copy file này vô rồi click đúp 1 phát là xong
 
Bạn thân ndu96081631 ơi,
Sao tôi chi thực thi lệnh nó nằm im rè hà bạn ơi, đã để chế độ macro medium trong excel rồi. Thử 1 folder sao vẫn còn và nằm im rè không thấy hoạt động của code. Nhờ bạn xem lại đoạn code còn thiếu gì chăng?

To: Boyxin, cám ơn bạn đã quan tâm, chưa hiểu bài của bạn lắm.
 
Hồi nãy sơ ý ---> Coi chừng nó đổi tên luôn mấy file hệ thống thì chết
Sửa lại cho chắc
PHP:
If FileItem.Attributes = 32 Then
-----------------------------------------------
Bạn thân ndu96081631 ơi,
Sao tôi chi thực thi lệnh nó nằm im rè hà bạn ơi, đã để chế độ macro medium trong excel rồi. Thử 1 folder sao vẫn còn và nằm im rè không thấy hoạt động của code. Nhờ bạn xem lại đoạn code còn thiếu gì chăng?

To: Boyxin, cám ơn bạn đã quan tâm, chưa hiểu bài của bạn lắm.
Bạn thử lại xem ---> Tôi thử mười mấy lần rồi mới đưa lên đấy chứ
 

File đính kèm

Lần chỉnh sửa cuối:
To: Boyxin, cám ơn bạn đã quan tâm, chưa hiểu bài của bạn lắm.
[/B]

Làm sắn cho bạn đây: Download vè rồi giải nén rồi Chép vào thư mục cần đổi tên file nào đó

1) Muốn đổi thành file WORD thì chạy file File2DOC.bat
2) Muốn đổi thành file EXCEL thì chạy file File2XLS.bat

Tương tự bạn có thể chỉnh sủa file *.bat để được kết quả theo ý muốn
 

File đính kèm

OK, cám ơn bạn ndu96081631 đã trợ giúp hoàn thành việc chỉnh lại icon cho toàn bộ các files này. Tuy nhiên vẫn còn sót 1 số files lý do là tôi chọn tại thư mục của Ổ D: hoặc tại Ổ E:.
Nếu được, bạn có thể cho thông báo là nó đang chạy đến đâu giống kiểu phần mềm diệt virus đang quyét đến thư mục nào của ổ đĩa thì tuyệt quá bạn à. Không gấp lắm. Khi nào có thời gian bạn nghiên cứu bổ sung cũng được. Chân thành cám ơn các bạn
 
Nếu được, bạn có thể cho thông báo là nó đang chạy đến đâu giống kiểu phần mềm diệt virus đang quyét đến thư mục nào của ổ đĩa thì tuyệt quá bạn à. Không gấp lắm. Khi nào có thời gian bạn nghiên cứu bổ sung cũng được. Chân thành cám ơn các bạn
[/B]
Cái bạn vừa nói chắc giống cái này:

untitled1.JPG


nhưng tôi e rằng xây dựng 1 chương trình như thế là không khả thi! Lý do vì loại file không có extension như thế có đầy trong ổ đĩa ---> Làm sao biết được file nào đúng là excel file, còn file nào là của hệ thống hoặc chương trình khác?
Bạn lấy form tôi gữi dưới đây về search trong ổ C xem là biết liền
 

File đính kèm

Lần chỉnh sửa cuối:
Cái bạn vừa nói chắc giống cái này:

View attachment 50910


nhưng tôi e rằng xây dựng 1 chương trình như thế là không khả thi! Lý do vì loại file không có extension như thế có đầy trong ổ đĩa ---> Làm sao biết được file nào đúng là excel file, còn file nào là của hệ thống hoặc chương trình khác?
Bạn lấy form tôi gữi dưới đây về search trong ổ C xem là biết liền

Thật tuyệt!

PHP:
      For i = 1 To .FoundFiles.Count
        Fle = Dir(.FoundFiles(i))
        Fld = Left(.FoundFiles(i), Len(.FoundFiles(i)) - Len(Fle))
        With Me.lstResult
          .AddItem Fld
          .List(i - 1, 1) = Fle
          .Selected(i - 1) = True
        End With
        Me.lblProg2.Width = i * Me.lblProg1.Width / .FoundFiles.Count
        Me.lblProg1.Caption = "    " & Format(i / .FoundFiles.Count * 100, "00") & " %"
        Me.lblProg2.Caption = "    " & Format(i / .FoundFiles.Count * 100, "00") & " %"
        Me.Repaint
      Next
      MsgBox i & " files found!", , "COMPLETE!"
Tại sao Msgbox luôn báo dư 1 file so với số file tìm được hiện lên trong lstResult

Thay MsgBox i & thành MsgBox .FoundFiles.Count & thì đúng nhưng

Vấn đề: tại sao lại như vậy?
 
Tại sao Msgbox luôn báo dư 1 file so với số file tìm được hiện lên trong lstResult

Thay MsgBox i & thành MsgBox .FoundFiles.Count & thì đúng nhưng

Vấn đề: tại sao lại như vậy?
Thật ra lúc đầu tôi cũng dùng .FoundFiles.Count, nhưng sau đó, vì để rút gọn code (ở những chổ có thể) và nhận thấy rằng dù gì thì sau khi chạy xong vòng lập, i sẽ đạt kết quả đúng = .FoundFiles.Count nên tôi đã thay .FoundFiles.Count thành i
Vậy mà cũng có sai sót ---> Chẳng hiểu vấn đề nằm ở đâu nữa!
Để dễ hình dung, ta làm 1 cuộc thí nghiệm
PHP:
Sub Test()
  Dim i As Long
  For i = 1 To 10
  Next
  MsgBox i
End Sub
Vậy mà kết quả nhận được là vầy mới ghê chứ

untitled.JPG

--------------
Chưa biết nguyên nhân, nhưng cũng cảm ơn Boyxin đã phát hiện (rút kinh nghiệm lần sau)
(Đã post lại file)
 
Lần chỉnh sửa cuối:
Chưa biết nguyên nhân, nhưng cũng cảm ơn Boyxin đã phát hiện (rút kinh nghiệm lần sau)
(Đã post lại file)

Cái đó đúng mà, Nguyên lý hoạt động của For - Next là:
1- For Cho i một giá trị ban đầu (đã khai báo)
2- Thực hiện các lệnh nằm giữa For và Next
3- Next Tăng biến i lên 1 gia số step (đã khai báo)
4- Kiểm tra i có vượt quá ngưỡng khai báo hay không
5- Nếu chưa vượt thì quay lại (2)
6- Nếu vượt thì thoát

Vậy trong thí dụ của ndu, khi i = 10 vẫn quay lại thực hiện các dòng lệnh, i = 11 mới thoát. Nếu i = 10 đã thoát thì thiếu sao? Vì i tăng do câu Next thực hiện, chứ không phải câu For thực hiện. Cái này có thể kiểm chứng bằng cách chạy từng dòng lệnh.
 
Cái đó đúng mà, Nguyên lý hoạt động của For - Next là:
1- For Cho i một giá trị ban đầu (đã khai báo)
2- Thực hiện các lệnh nằm giữa For và Next
3- Next Tăng biến i lên 1 gia số step (đã khai báo)
4- Kiểm tra i có vượt quá ngưỡng khai báo hay không
5- Nếu chưa vượt thì quay lại (2)
6- Nếu vượt thì thoát

Vậy trong thí dụ của ndu, khi i = 10 vẫn quay lại thực hiện các dòng lệnh, i = 11 mới thoát. Nếu i = 10 đã thoát thì thiếu sao? Vì i tăng do câu Next thực hiện, chứ không phải câu For thực hiện. Cái này có thể kiểm chứng bằng cách chạy từng dòng lệnh.
Trước giờ em cứ nghĩ khác
Đã viết For i = 1 to 10 thì đương nhiên nó phải tự biết "chạy đủ 10 vòng thì ngưng"
Cũng giống như vầy:
Thầy báo em chạy 10 vòng sân trường, đương nhiên em vừa chạy vừa đếm ---> Đếm đủ thì... nghỉ và đi uống nước chứ chẳng lý nào phải chạy thêm 1 vòng nữa, sau đó kiểm tra xem số 11 có > số 10 hay không
???
Đúng thật là... NGU NHƯ MÁY TÍNH
Ẹc... Ẹc...
 
Nếu so sánh với vụ chạy 10 vòng sân thì là vầy:
Bắt đầu đếm 1 khi bắt đầu chạy (đầu vòng), tự nhủ đang bắt đầu chạy vòng thứ nhất. Hết 1 vòng thì đếm 2 và tự nhủ bắt đầu chạy vòng 2, ...
Hết vòng 10 thì đếm 11, và sực nhớ ra lão chết tiệt bắt chạy có 10 vòng sân thôi, bèn nghỉ đi uống bia.

Còn chạy 10 vòng thì đếm 10 rồi ngưng, đó là Do - Loop Until:

PHP:
i = 0
Do
i = i + 1
Cells(i, 1) = "a"
Loop Until i = 10
MsgBox i
 
Web KT

Bài viết mới nhất

Back
Top Bottom