2023年12月8日 星期五

用AI寫Batch批次檔

因為工作關係,常要以日期流水號建檔,所以每次需開檔案總管後,建立年月日資料夾,開始將工作歸納到此資料夾內,想藉由AI工具(ChatGPT),幫忙寫Batch檔,簡化工作😄

步驟一:

https://chateverywhere.app/zh

步驟二:語音語言,選擇  國語繁體

步驟三: (輸入您想請AI幫忙處理功能後,按下右邊 三角形圖示)

 請寫batch檔,依民國年月日建立資料夾,如遇相同資料夾,則自動+1

步驟四:

請將下面範例保存為一個BATCH批次檔(例如 create_folder.bat),然後執行該檔案,
它將根據當前的民國年月日建立一個資料夾。如果該資料夾已存在,它將自動在資料夾名稱後面加上數字,直到找到一個可用的資料夾名稱為止。


@echo off
setlocal enabledelayedexpansion

REM 取得當前的民國年月日
for /f "tokens=1-3 delims=/" %%a in ("%date%") do (
    set /a year=%%a-1911
    set month=%%b
    set day=%%c
)

REM 建立初始資料夾名稱
set folderName=%year%%month%%day%

REM 檢查資料夾是否已存在,若存在則自動加1
set i=1
:checkFolderExist
if exist "%folderName%" (
    set /a i+=1
    set folderName=%year%%month%%day%_%i%
    goto checkFolderExist
)

REM 建立資料夾
mkdir "%folderName%"


後記:

一、其實這網站,除能寫各種不同語文(如:日文令和年)的PYTHON程式

二、這網站亦能寫教案,您只要提供想要的大綱、教學時間、學生學習等級(國、高中、大學),並在最後附上其它一個網站參考教案範例,它就能依您的教案需求,並參考您附上的網站參考教案作為參考基準,編寫出符合您的需求的教案

三、突然間覺得... AI儼然已成為生活中不可或缺的小幫手了




AIでPYTHONプログラムを書く

AIでPYTHONプログラムを書く

令和   今日の日付の名前でフォルダを作成し、同じフォルダに出会えば自動的に+1するpythonプログラムを書いてください


ステップ 1
https://chateverywhere.app/zh

ステップ 2
語音語言--> 日本語

ステップ 3  (請輸入訊息)

令和   今日の日付の名前でフォルダを作成し、同じフォルダに出会えば自動的に+1するpythonプログラムを書いてください

ステップ 4
自動的にPYTHONプログラムコードを生成しました。

下記の通りの例をPythonファイルに保存し(例:create_folder.py)、実行すると、
令和の年月日に基づいてフォルダが作成されます。同じ名前のフォルダが既に存在する場合、番号が自動的に追加されます。

import os
import datetime

# 今日の日付を取得
today = datetime.date.today()

# 令和の年を計算
year = today.year - 2018

# フォルダ名を作成
folder_name = f"{year}{today.month:02}{today.day:02}"

# フォルダが存在するかどうかを確認し、存在する場合は番号を追加
i = 1
while os.path.exists(folder_name):
    folder_name = f"{year}{today.month:02}{today.day:02}_{i}"
    i += 1

# フォルダを作成
os.mkdir(folder_name)


2023年12月7日 星期四

jpg2txt圖檔轉換為文字檔(PYTHON)

作業環境前置準備:

 安裝必要性元件(辨識核心元件tesseract-ocr 需下載安裝,外加要辦識之語系)

 

安裝相關套件

 pip install pillow

 pip install pytesseract

 

 PYTHON程式,如下:

# -*- coding: utf-8 -*-
'''
python取圖檔,辨識中文
'''
#'開啟檔案總管 (開啟轉換後之檔案使用)'
import os,sys
import subprocess
import glob
from os import path

from PIL import Image
import pytesseract

# 檢查命令列參數是否足夠
if len(sys.argv) < 2:
    print("Usage: python ocr_script.py <image_file>")
    sys.exit(1)  # 結束程式,返回錯誤碼

file_path = sys.argv[1]  # 取得第一個命令列參數作為檔案路徑

#'預設位址如下,但如安裝不同處,需告訴PYHTON 辨識核心元件在哪,如此方能辦識處理
pytesseract.pytesseract.tesseract_cmd = 'C:/Program Files/Tesseract-OCR/tesseract.exe'

img = Image.open(file_path)

#辯識如為繁體中文字之圖檔,參數為'chi_tra' ;🏯日文字之圖檔,參數改為'jpn'
text1 = pytesseract.image_to_string(img, lang='chi_tra')

#出現UnicodeEncodeError: 'cp950' codec can't encode character '\u5f53',需再加入UTF8編碼,
如下open('file.txt', mode = 'w', encoding='UTF-8')

 with open('file.txt', mode = 'w') as f:
    f.write(text1)
    f.close()

#'將剛才圖檔辨識後結果,以檔案總管直接將它開啟查閱
subprocess.Popen('explorer "file.txt"')
    

運用方式1:可將您未提供字幕YOUTUBE網站,不瞭解的日文考題,截圖辦識成純文字後(將PYTHON編譯成EXE,再透過圖檔右鍵傳送到EXE檔(shell:sendto),立即取得日文純文字考題),再貼到 AI神器去解析考題,省去打字時間 。

運用方式2:以目前AI辦識技術已非難事,將截圖片段直接上傳AI,無需透過本程式,亦是另一種可行方式,但缺點是需考量上傳資料是否涉機敏性(如:公司公文、個資等),如有就可使用此離線工具做轉換辨識處理。


相關參考資訊:

Mac系統OCR辨識工具


2023年12月4日 星期一

VLOOKUP 查詢對應資料有誤

發現VLOOKUP回傳對應資料有誤

原因分析:
1.拚字錯誤  ,如:參照對應陣列關鍵字1o4 ,而其查詢來源為 104,
                           參照對應陣列關鍵字,部分字示為全形字元,而其來源全為半形字元
   ,導致欲查詢之關鍵字,與參照對應陣列值回傳錯誤

2.格式不同,如:參照對應陣列關鍵字,欄位之儲存格格式,類別(C):屬性為文字,而其來源欄位之儲存格格式,類別(C):屬性為數值 


3.CELLS 儲存格,內含 看不到多餘的空白字元^^^(例如:NBSP空白字元CHR(160),&NBSP;),如:參照對應陣列關鍵字104^^^ ,而其來源為 104,原因多了看不到的3個空白字元(NBSP、CR、LF),導致vlookup回傳對應資料錯誤 

解決辦法:
可以透過trim函數或 substitue函數,去除CELLS儲存格多餘空白字元 ,trim(參照對應陣列關鍵字欄位),即可將參照對應陣列關鍵字,去除多餘空白字元.


相關查詢:
https://myblog-johnnyit.blogspot.com/2008/04/vlookup.html


2023年11月27日 星期一

編輯EXCEL巨集,出現'VBE6EXT. OLB could not be loaded'

問題

編輯EXCEL巨集程式,出現錯誤訊息VBE6EXT無法載入問題

 

處理方式

1.將VBE6EXT.OLB ,更名成 VBE6EXT.OLD (無效) 

2.重新修復OFFICE(無效)

3.移除OFFICE重裝(無效) 


解決方式

步驟1.確認下列檔案路徑,是否確實有VBE6EXT.OLB ?

C:\Program Files (x86)\Common Files\Microsoft shared\VBA\VBA6\

 

OFFICE版本不同可能會不同位置

C:\Program Files (x86)\Microsoft Office\root\VFS\Program Files Common X86 \ Microsoft Shared \ VBA\VBA

步驟2. REGEDIT 機碼位址

以下,另儲存REG附加檔名

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\TypeLib\{0002E157-0000-0000-C000-000000000046}]

[HKEY_CLASSES_ROOT\TypeLib\{0002E157-0000-0000-C000-000000000046}\5.3]
@="Microsoft Visual Basic for Applications Extensibility 5.3"
"PrimaryInteropAssemblyName"="Microsoft.Vbe.Interop, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71E9BCE111E9429C"

[HKEY_CLASSES_ROOT\TypeLib\{0002E157-0000-0000-C000-000000000046}\5.3\0]

[HKEY_CLASSES_ROOT\TypeLib\{0002E157-0000-0000-C000-000000000046}\5.3\0\Win32]
@="C:\\Program Files (x86)\\common Files\\Microsoft Shared\\VBA\\VBA6\\VBE6EXT.OLB"

[HKEY_CLASSES_ROOT\TypeLib\{0002E157-0000-0000-C000-000000000046}\5.3\Flags]
@="0"

[HKEY_CLASSES_ROOT\TypeLib\{0002E157-0000-0000-C000-000000000046}\5.3\HelpDir]
@="C:\\Program Files (x86)\\common Files\\Microsoft Shared\\VBA\\VBA6\\VBE6EXT.OLB"
 
確認VBE6EXT.OLD機碼,是否對應正確?,步驟1之路徑
步驟3.重新開機 
原因分析:安裝其它OFFICE軟體,又移除不完全,導致機碼錯亂所致
相關查詢

VBE6EXT.OLBを読み込めません

 

2022年8月19日 星期五

Json2Csv(JavaScript Object Notation轉換成CSV格式)

 作法1:( react-gh-pages離線套件)
將JSON格式轉換成CSV純文字讀取格式工具
步驟1:下載解壓縮 react-gh-pages
步驟2:開啟json-gh-pages資料夾下之 index.html
步驟3:將JSON格式貼於上方視窗,即可轉換成 CSV純文字格式 (預設20筆,點選Download the entire CSV)



作法2:(搭配Notepad++ 外掛工具)
經由Notepad++外掛方式(Plug-in)


作法3:(Python程式)

#'開啟檔案總管 (開啟轉換後之檔案使用)'

import subprocess

import os

import pandas as pd

#'開啟GUI 取得來源檔(準備捉取JSON之來源檔案路徑)

import tkinter as tk

from tkinter import filedialog

root = tk.Tk()


file_path = filedialog.askopenfilename(initialdir = "/",title = "Select file for JSON to csv(選擇欲處理之JSON檔案)",filetypes = (("Json files","*.json"),("Text files","*.txt"),("all files","*.*")))

df = pd.read_json (open(file_path, "r", encoding="utf8"))

print(df)  # 顯示讀取出之DataFrame資訊

input ("Press any key to continue!")


df.to_csv (r'd:\json2csv\Convert_Json_File.csv', index = None)

#將剛產出之CSV文字檔,直接開啟顯示出來

subprocess.Popen('explorer "d:\json2csv\Convert_Json_File.csv"')

2022年2月6日 星期日

PowerShell Remove 內建套件移除

微軟Win11作業系統,內建自己不常用軟體(如:Teams)如何移除,俾提升電腦工作效能?

步驟1:執行cmder程式,
步驟1-1:按+ Create new console
步驟1-2:選1:{Shells}
步驟1-3:選6:{PowerShells(Admin)}

步驟2:找出多餘未使用之軟體關鍵字(如:teams)
PowerShell,找出Win11內建安裝Teams相關軟件
Get-AppxPackage -Name *teams*

步驟2:
移除 內建MicrosoftTeams
Get-AppxPackage -Name MicrosoftTeams | Remove-AppxPackage -ErrorAction stop


取消Win11內建多餘軟件參考資訊:
reduce+Windows+11+RAM+usage+by+avoiding+its+new+features 

Windows 11  デフォルトで有効かつRAMを大量に消費するもの  

Sycnex Windows10Debloater script,移除微軟預設多餘內建軟體

 相關軟體:
Cmdler (PowerShell相關介接程式)

系統最佳化參考資訊