2020/05/29

Gg / 使用GoogleCharts快速製作QrCode

許多要公開的資訊除了放上網之外,還要有方便讓人取得的管道

像是縮網址,可以方便記憶,也可以讓資訊量精簡一點

現在也常使用QrCode,手機一掃就可以快速取得資訊

最近在規劃辦理研習,需要用到進修網的報名網址與QrCode

但是,報名網址跟QrCode 卻無法從業務承辦人權限帳號的頁面功能中取得

之前我的作法是用一般帳號查詢研習,再進到報名頁面

 

這樣就可以知道網址

而網址結構是:https://inservice.edu.tw/NAPP/CourseView.aspx?cid=研習課程代碼

之後也可以直接帶入新的研習課程代碼來取得報名網址

同時這個報名頁面上也會出現QrCode

但是能進到報名頁面,看得到QrCode,其實這個QrCode就什麼沒必要了~~

好處反而在於業務承辦人可以從這邊抓到QrCode的圖檔

不過在之前抓QrCode的圖檔時,發現這個圖檔並不是實際存在的檔案(因為按右鍵無法另存新檔圖檔)

 

另存新檔,會存到網頁

 

利用Chrome的「檢查-內容」功能可以看到是完整的網址

https://chart.googleapis.com/chart?chs=120×120&cht=qr&chld=M|3&chl=https://inservice.edu.tw/NAPP/CourseView.aspx?cid=2861727

註:120×120,中間是英文小寫 x ,不知道為什麼wordpress會轉成×;兩者的字碼不一樣 x →  120,× → 41425

從網址結構可以看出來是https://chart.googleapis.com/chart?加上一連串傳遞的參數組合而成

拜谷狗大神得知這是GoogleCharts的功能,雖然官方網頁上寫不推薦使用

但我猜測這是因為無法透過帳號後台紀錄這個QrCode使用情況

官方網站詳細說明了這些參數的設定

https://developers.google.com/chart/infographics/docs/qr_codes?hl=zh-tw#syntax

簡單說明如下:

至少要有這三個參數 chs cht chl

chs=120x120 → QrCode圖檔大小,可以自行設定大小,寬x高,中間是英文字小寫 x (不知道為什麼wordpress會轉成×)

cht=qr → 這是固定的設定

chl=https://inservice.edu.tw/NAPP/CourseView.aspx?cid=2861727 → QrCode的內容

而進修網有再設定chld=M|3→QrCode的容錯率與版本,進修網設定的是 M 或( | )  第3版,預設第4版
 

綜合這些

1.以後要取得新課程的報名頁面網址

可以直接套用https://inservice.edu.tw/NAPP/CourseView.aspx?cid=研習課程代碼

2.要取得QrCode

可以直接套用https://chart.googleapis.com/chart?chs=120x120&cht=qr&chld=M|3&chl=報名頁面網址

取得的圖檔是png格式,24位元全彩,而不是32位元(背景透明)

當然這個方式也適用於取得其他網址/字串訊息的QrCode

2020/05/27

Py / 透過selenium-webdriver爬youtube的介紹資訊(2021/10/28修改)

原本是透過Python 跟 selenium-webdriver抓取Html

但是後來網頁原始檔都變成JavaScript程式碼

2020/05/24

VBA / 初階課程筆記-5

105.04.07 第5次上課 (範例-05尋找與參照函數練習.xls)

上課內容:

補充:名稱管理員

定義名稱,Excel中相當重要的一項功能,在很多操作中它不是必需的,但卻是高手進階的一個重要功能。它是把單元格區域、函數、常量或表格定義一個名稱,在我們一些操作,尤其是編輯Excel公式過程中,可以簡化操作,使Excel公式便於理解和維護。(原文網址:https://kknews.cc/tech/a84bvnx.html)

 

01_LOOKUP函數與查詢介面

LOOKUP 函數

向量形式的 LOOKUP 會在單列或單欄範圍 (亦稱為向量) 中尋找值,並傳回第二個單列或單欄範圍內相同位置的值。

=LOOKUP(lookup_value, lookup_vector, [result_vector])


 

應用:利用 LOOKUP函數找出查詢編號對應的資料

 

02_如何增加下拉清單(名稱與資料驗證)

建立下拉清單-資料驗證
 

應用:使用名稱管理員建立下拉式清單的資料來源

 

03_如何改用VLOOKUP查詢資料

VLOOKUP 函數

=VLOOKUP (lookup_value, table_array, col_index_num, [range_lookup])

= VLOOKUP (查閱值 , 包含查閱值的範圍 , 範圍中包含傳回值的欄號 , 大約符合(TRUE)或完全符合(FALSE))

range_lookup (選填)-這是用以指定要 VLOOKUP 尋找大約符合或完全符合值的邏輯值:

1-大致相符 / TRUE   假設表格中的第一欄是以數值或字母順序排序,然後搜尋最接近的值。 預設值。

0-完全符合 / FALSE  假設表格中的第一欄是以數值或字母順序排序,然後會在第一欄中搜尋確切值。 
 

應用:找出銷量79000的提成率


 

04_改用MATCH與INDEX函數查詢資料

INDEX函數

=INDEX(array, row_num, [column_num])

=INDEX(表格範圍,列索引值,行索引值)

MATCH函數

=MATCH(lookup_value, lookup_array, [match_type])

MATCH會傳回lookup_array中相符值的位置,而不是值本身。

match_type(選填)

match_type 選擇性。 數字 -1、0 或 1。 match_type 引數會指定 Excel 如何將 lookup_value 與 lookup_array 中的值相比對。 這個引數的預設值是 1。

1 或省略:MATCH 會尋找小於或等於 lookup_value 的最大值。 lookup_array 引數內的值必須以遞增次序排列,例如:…-2,-1,0,1,2, …,A-Z,FALSE,TRUE。

0:MATCH 會尋找完全等於 lookup_value 的第一個值。 lookup_array 引數內的值可以依任意次序排列。

-1:MATCH 找出大於或等於lookup_value的最小值。 Lookup_array引數中的值必須以遞減順序放置,例如: TRUE、FALSE、Z-A, …,2、1、0、-1、-2、… 等等。
 

應用:利用INDEX函數與MATCH函數找出查詢編號對應的各項資料

Row_num:

透過 Match函數 找出查詢編號對應的列號位置

 

Column_num:

姓名的欄號為 2、總銷量的欄號為 3~~

剛好可以對應公式所在 C3 列號 3 – 1 = 2、C4 列號 4 -1 = 3 → ROW()-1


 

05_利用ROW函數取得列號、COLUMN函數取得欄號與九九乘法表

ROW函數

=ROW()    公式出現的列號

COLUMN函數

=COLUMN()    公式出現的欄號
 

應用:九九乘法表


 

06_切割名字範例與九九乘法表(範例-切割名字.xlsm),使用INDEX

=IFERROR(INDEX(名稱,COLUMN()-2+(ROW()-1)*5,1),"")

第一列:1+0*5  2+0*5 ..

第二列:1+1*5  2+1*5 ..

..

→column()-2 + (row()-1)*5
 

備註:

IFERROR函數 如果公式計算結果錯誤,IFERROR 會傳回指定的值;否則,它會傳回公式的結果。

=IFERROR(value, value_if_error)