Hướng dẫn powershell excel format cell color - màu ô định dạng powershell excel
Tôi muốn làm nổi bật nội thất ô Excel bằng PowerShell, có thể thay đổi màu sắc của phông chữ, nhưng không phải toàn bộ màu tế bào Vì vậy, đây là cách trang tính Excel của tôi, nó kiểm tra xem ô có "khớp" hay không và thay đổi màu sắc theo đó
Đây là mã, vấn đề duy nhất là khi tôi đưa ra
Nó cho tôi một ngoại lệ
Tôi muốn bàn của tôi trông như thế này, Ngày 29 tháng 6 năm 2005 Này, anh chàng kịch bản! Tôi có một bảng tính Microsoft Excel Tôi định kỳ phân tích bằng một tập lệnh. Làm thế nào tôi có thể thay đổi màu của một ô thành màu đỏ nếu ngày được lưu trữ trong ô đó đã qua? - DM Này, DM. Chúng tôi sẽ bắt đầu vào ngày hôm nay, cột tắt với một số nhận xét thông minh và dí dỏm về những ngày đỏ tươi, nhưng chúng tôi thực sự không thể nghĩ ra một. Do đó, chúng tôi sẽ giả vờ rằng chúng tôi không có thời gian cho những điều vô nghĩa như vậy và thay vào đó hãy xuống ngay để kinh doanh.
Để giữ cho lời giải thích tập trung vào nhiệm vụ trong tay, hãy để cho rằng bạn có một bảng tính nhỏ rất đơn giản, một bảng tính bao gồm một loạt ngày (tất cả trong cột A). Bảng tính nhỏ đơn giản của chúng tôi trông giống như thế này:
Set objExcel = CreateObject(“Excel.Application”) objExcel.Visible = True Set objWorkbook = objExcel.Workbooks.Open(“C:\Scripts\Test.xls”) Tất cả những thứ được coi là một kịch bản ngắn, phải không? Kịch bản bắt đầu bằng cách tạo một thể hiện của đối tượng excel. người áp dụng và sau đó đặt thuộc tính hiển thị thành true. Sau đó, chúng tôi sử dụng phương thức mở để mở tệp c: \ scripts \ test.xls. Tất cả chỉ đơn giản là mở bảng tính của chúng tôi và làm cho nó hiển thị trên màn hình.Excel.Application object and then setting the Visible property to True. We then use the Open method to open the file C:\Scripts\Test.xls. All that simply opens up our spreadsheet and makes it visible on screen. Sau khi bảng tính của chúng tôi bật lên, chúng tôi gán giá trị 1 cho một biến bộ đếm có tên x; Chúng tôi sẽ sử dụng biến này để theo dõi hàng hiện tại khi chúng tôi làm việc theo cách thông qua bảng tính. Tiếp theo, chúng tôi, bắt đầu làm việc theo cách của chúng tôi thông qua bảng tính, thiết lập một vòng lặp tiếp tục cho đến khi chúng tôi gặp phải một giá trị trống trong cột A. Đó là những gì dòng mã này làm: Do Until objExcel.Cells(x,1).Value = “”
Bên trong vòng lặp DO của chúng tôi, chúng tôi kiểm tra xem giá trị của ô hiện tại có nhỏ hơn ngày hôm nay không. Chúng tôi làm điều đó bằng cách lấy giá trị của ô hiện tại-objexcel.cells. (X, 1) .Value-và sử dụng hàm VBScript CDATE (ký tự từ này) để đảm bảo giá trị được coi là ngày. Sau đó, chúng tôi so sánh giá trị đó với ngày hiện tại (mà chúng tôi có thể nhận được bằng cách sử dụng hàm ngày). Nếu giá trị ô ít hơn thì ngày hiện tại, thì chúng tôi sử dụng dòng mã này để thay đổi màu bên trong (nền) của ô thành màu đỏ:CDate (character-to-date) function to ensure that the value is treated as a date. We then compare that value to the current date (which we can get by using the Date) function. If the cell value is less then the current date, then we use this line of code to change the interior (background) color of the cell to red: objExcel.Cells(x,1).Interior.ColorIndex = 3
Có tất cả những thứ đó? Nếu bạn không chắc chắn tại sao chúng tôi lại kiểm tra giá trị của objexcel.cells (x, 1) hãy nhớ rằng X là một biến chúng tôi tạo để theo dõi hàng hiện tại. Bởi vì x bắt đầu với giá trị 1, những gì chúng tôi làm lần đầu tiên thông qua vòng lặp là kiểm tra ô (1,1): hàng 1, cột 1. Sau khi thực hiện lần đầu tiên, chúng tôi tăng x 1; Do đó, lần tiếp theo thông qua vòng lặp, chúng tôi sẽ kiểm tra ô (2,1): hàng 2, cột 1., v.v. Chỉ là dễ dàng, chỉ nhanh như vậy. Chúng tôi đoán bạn có thể nói rằng, đó là điều đó, ok, chúng tôi có thể nghĩ về bất cứ điều gì để nói vào lúc này. Nhưng bạn hiểu ý rồi đấy. |