發表文章

目前顯示的是 9月, 2023的文章

Excel VBA@文檔管理系統

圖片
 文檔管理系統 主要為處理公文、會議的Side Project,其中功能包含利用AI工具去辨識紙本公文或PDF公文的文字內容,建立發文字號、發文日期、公文主旨等重要資訊,供使用者進行後續利用。 需要必備的技能或工具 Tesseract OCR(***圖片轉文字辨識套件) python Excel VBA 在Excel VBA中使用shell呼叫Python的PDF_OCR.py執行Tesseract OCR辨識指定PDF文檔,產生output.txt後,提供Excel VBA讀取利用,如對於python比較沒有概念的朋友也可以直接使用pyinstaller建立好的PDF_OCR.exe執行辨識動作。 建立流程 1.建立Tesseract的操作環境,請參考 Tesseract OCR - 繁體中文【安裝篇】 2.建立Python的可執行環境,請參考網路大神範例,有一拖拉庫 3.建立Python的虛擬開發環境,下載相關套件 pip install pillow pytesseract pip install PyMuPDF pip install pyinstaller 4.撰寫Python的腳本檔 (PDF_OCR.py),由衷感謝chatGPT的發展,省很多事去探索。 import sys import fitz # PyMuPDF from PIL import Image import pytesseract import re # 导入re模块 def extract_text_from_pdf(PDF_PATH, OUTPUT_PATH): # 创建一个PyMuPDF文档对象 pdf = fitz.open(PDF_PATH) # 提取PDF页面中的文本 text = "" for page_num in range(pdf.page_count): page = pdf[page_num] text += page.get_text() # 获取页面的宽度和高度 width = int(page.rect.width) height = int(page.rect.height) # 使用Tesse

ExcelVBA@施工照片整理的應用範例3-建築工程

圖片
客戶使用情境: 舉例:今天工程師要請款,工項名稱為泥作,會先將年的資料夾(第一層)引入施工照片VBA,將所有月日資料夾(第二層)中的照片通通列到清單上,並針對顯示屬性進行篩選設定 工項:泥作 作業項目:粉光 作業內容:查驗 施工位置:勾選好幾個樓層 確認篩選結果後列印成每頁報表為三格照片的格式,向業主請款。 施工照片VBA實作步驟: 1.照片資料夾以日期為分類,第一層為月(EX:9月),第二層為日(EX:04)。 圖一、施工照片資料夾檔案結構 2.當請款或提送查驗照片時會需要列印施工照片報表作為佐證。 3.報表格式會需要說明註記,依序為日期、工項、作業項目、作業內容、施工位置。 圖二、施工照片屬性註記表單 4.當要列印的時候,工程師可以將對於施工照片的屬性進行篩選後印出。 圖三、篩選出工項:泥作、作業項目:粉刷 圖四、檢附施工照片報表,進行請款 結語: 針對照片進行屬性註記後,可以將屬性資料存在照片檔案名稱,未來引入時可以直接帶入,節省人工編輯檔案名稱的程序。光查看照片名稱(IMG_XXXX),很難知道照片內容是與什麼有關的,通常都是有需要的時候才會一張一張點開來貼照片,但這樣子真的有比較順嗎? 篩選的方式因人而異,你也可以篩選出有做查驗的照片、缺失改善的照片、材料進場的照片,一切端看使用者的情境去做設定,只要有邏輯有做好屬性標記,程式基本上都能協助你去完成這些麻煩的事情。 如果他能讓你節省下改檔案名稱的時間、找出正確的照片的時間、貼上照片調整大小的時間、填寫報表內說明註記的時間,那麼出照片報表的這件事情, 將由數個小時變成瞬間完成 。 有可能應用到日常業務的朋友歡迎填寫表單,工程文書的生態必須有所改變,大家才會快活,由衷建議不要再浪費時間做這些電腦可以做的事情了,他做得又快又準確,何不嘗試看看? ***1019更新*** 施工照片VBA已經支援使用者可選擇多種版型進行列印(施工抽查、改善前中後、驗收紀錄...等) 檔案下載連結: https://drive.google.com/file/d/1kGe0cRtzuwpP_JSc2cxcXIMdSf3ZV0KE/view?usp=sharing 將整個ZIP下載下來,解壓縮,執行主程式,裡面Main工作表會有個教學模式。 *研討會分享* 如果對VBA在設計/監造的應用上有興趣 可以訂閱我的LINE通知或加入LINE社

談如何讓開發者聽懂你的需求

 要做客製化,說出需求、找對人很重要! 所有的軟體影片都是在展示開發者能做出"類似功能"的產品,要100%適用在你的日常業務,基本上不可能,因為每個使用者的使用情境、業務邏輯、報表格式,都會有所落差,細微落差也是落差。 所以,敬告所有不明白產品是否合適的你,一定要把你的需求具體的、完整的說出來,沒有說出來,絕對不會有人知道合不合適,每個人都跟我說他有需求,但光聽到這一句,我真的不知道你的需求是什麼,如果連自己的麻煩事都不想說,我也幫不上你的忙。 如果 ,你不是不想說,而是你不會說,那歡迎你跟開發者 預約一場會議 ,讓開發者透過問題來引導你該怎麼說你的需求,這樣才有幫助,我非常願意花這個時間協助你節省時間。 我想關於溝通這件事情,值得我好好發一篇文告訴大家,應該要怎麼講出具體的需求是什麼。 即便你看過我的影片並且跟我拿到產品,如果後續沒有經過調整以及被人帶著學習程式中對有幫助的功能,我敢跟你保證,此舉完全就是浪費你的時間也是糟蹋我的作品而已, 產品必須要可以解決你的日常業務 ,才是好的產品。所以很多軟體下載下來之後,無法解決問題就丟資源回收桶了。 因為有麻煩的事情才會有程式的出現 人可以處理的事情,電腦才能處理,你都做不到了就別奢望程式可以。程式是人寫出來的,畢竟程式就是一種腳本,讓電腦乖乖去做人類指派的事情,而且通常是繁瑣、大量、簡單的事情,這也是為什麼程式沒辦法做到100%的原因,人終究還是有它存在的價值,總會需要處理那些程式無法做的事情,或替他排除問題。 程式很單純,資料進來=>處理邏輯=>資料出去,你會覺得麻煩的地方就是在處理邏輯,而 這正是我能為你帶來的價值 ,有邏輯就可以程式化,原本花費很大量的時間會瞬間被完成,省下來的時間你就可以做更多更有產值的事,就算不做事單純在那邊滑手機也會感到身心舒暢,重複的動作就讓電腦去做,他做得比你快又比你準,為什麼不讓他做就好? 所以到底我要怎麼描述我的需求,開發者才"可能"聽得懂? 要讓開發者聽得懂需求,有幾個重要的原則。 一、把使用者情境完整重現 需要你把資料來源呈現出來,跟我說你看到什麼東西做什麼事情,最後成品應該長怎樣。 二、找出麻煩事發生在哪個階段、頻率如何 找出在處理邏輯上的步驟是最麻煩而且最繁瑣的,發生的頻率有多長,會消耗多少時間。 開發行為是一個成本,要能省

談關於軟體定價心理

 結論先寫在前面 成年人交易的貨幣有兩種,時間以及金錢。 可能會出現的情況,老闆通常沒有時間,員工通常沒有錢。 老闆用錢買員工的時間去賺更多錢 員工用自己的時間去賺更多錢 因此, 只要可以讓人可以賺錢或省時間,就是有價值的產品 。 軟體應該怎麼定價 這需要藉由你的成本跟效益而定。 如果產品可以協助你省掉做8個小時的工作,你會覺得付出1個小時的費用是昂貴的嗎? 如果你中了1000萬的獎金,但是需要繳20%的錢給政府,那你會不想繳嗎? 本益比很有趣,他是評估你的成本能帶來多大效益的方法,成本太接近效益,又覺得這樣有風險,成本太遠離效益,又不會有人願意對你掏心掏肺,因為你的成本也是別人的利潤,市場是有效率的,出得起香蕉就只會請到猴子。 你想要有好的服務,那一 定會是需要有個合理的價格,天底下沒有白吃的午餐。 在現實層面,計算效益的10%~30%差不多就是個合理的成本,多了老闆會怕,少了員工會怕,什麼都想要自己賺,那就得要很有本事,畢竟時間有限,集思廣益勝過閉門造車。 軟體的定價好貴? 你會看到產品覺得很貴就表示你的時間很多,請把你的時間燃燒殆盡,土法煉鋼也是個好方法,不只不用耗費學習成本還能抄襲前輩留下的檔案,直接交卷。 但是這樣的方法,真的是你想要的嗎?到底是因為 學不來 還是 不想花錢 ,這是兩回事。 好的產品會讓你有 多出來的時間做更多業務賺更多錢 ,並且只收你10%~30%的成本,這樣一點都不貴,我的時間就這樣,我省下來的時間我可以上網看股票發呆,還有可能因為多出來的時間學習到另一項新的技能,為什麼我要浪費這麼多的時間做那些 重複、繁瑣、人為錯誤率高 的步驟,然而這些明明就是電腦可以透過按個按鈕就瞬間做完的事。 舉一個很有趣的例子,有個顧問公司因為有自動繪圖的軟體,在標其他案子的時候,成本就是比別人低,一套軟體抵過十個工程師在那邊拼命操作,而且程式不會累又準確,人工還會靠邀跟做錯,因此大多數的案子都被他低價包走,別人沒有辦法像他降價的那麼多,但其實老闆並沒有因為買軟體而賠錢,還拿到更多案子賺錢了,所以軟體很貴?要不要想想人力一個月就要3.4萬,還要勞健保。 關於訂閱制與買斷制的看法? 我比較偏好訂閱制,訂閱我可以享有隨時都保持最新的產品,還不用一次付出那麼多的費用(分期付款)但可以享用最好的服務,最重要的是,訂閱制可以享有開發者隨時服務你,這是多麼划算的一件事,遇

ExcelVBA@施工照片整理的應用範例2

圖片
前言: 本篇為延續前作 ExcelVBA@施工照片整理的應用範例  的後續改版內容,主要針對圖形化介面優化及調整照片列印排序方式與輸出方式,如有新版本需求者可加我官方賴(@903qzhwa)並打入關鍵字【施工照片】。 0914更新:  ExcelVBA@施工照片整理的應用範例3-建築工程 DEMO影片: 圖形化介面差異: 圖一、舊版本圖形化操作介面 圖二、新版本圖形化操作介面 操作介面功能解說: 1.取得資料夾:指定施工照片被放置的資料夾並將路徑放於儲存格B2。 圖三、指定施工照片資料夾位置 2.查看資料夾:打開儲存格B2路徑的資料夾。 圖四、.將資料夾名稱都依照[日期-事件]註記並放置。 3.貼上結果:將該資料夾中的圖片資訊貼到工作表Result。 3-1.貼上縮圖勾選後,當貼上圖片資訊時會依照右側縮圖寬度貼上小圖。 3-2.顯示大圖勾選後,當移動至工作表Result時,會同時顯示大圖示,提供使用者依圖片進行資訊填寫。 圖五、左側為施工照片貼上縮圖的效果,右側為施工照片顯示大圖的填寫資訊。 4.列印報告:選擇排序方法(a.資料夾b.日期c.檢查項目)後,依照所指定的方法去依序將圖片放入施工照片報表範本中,當到達欄位上限便複製到一個新的活頁簿,新工作表命名為[列號-列號-列號]。 4-1.顯示日期:每一個施工照片右下角是否要顯示拍攝日期 4-2.背景遮罩:每一個施工照片右下角是否在顯示拍攝日期時,同時將網底一併填色。(如右側範例) 圖六、施工照片的顯示日期與背景遮罩範例。 5.更改檔名:依據儲存格B5的資料結構,依序將工作表Result表頭對應欄位的資訊併入檔案名稱並針對照片作更名。 圖七、依照檔名結構將施工照片名稱重置,方便日後萃取檔名存入圖片資訊。 6.萃取檔名(在貼上結果的時候就已經會先做一次):依據儲存格B6的資料結構,判斷照片的檔案名稱結構是否得以切分,並依序填入其指定表頭位置。 7.合併列印:經左側下拉式選單選取先前報表之成果規則,依照使用者框選的項目進行報表合併。 圖八、工作表Main的列印清單,框選要合併的編號後便可進行合併列印,當合併過程中好像有點卡,可以再回去點擊主程式一下,讓主程式 喚醒一次 便可繼續進行後續合併。 圖九、合併後的範例,如要列印可以直接"列印整本活頁簿"即可。 操作小技巧: 1.建議將資料夾名稱都依照[日期-