實在是 太討厭 每次都要 按 讚 才能看圖片了。
針對網址是下列清單 的網站,都有效
太多太多 反正版型都長差不多...自己試試
(爆笑貼圖) http://explodephoto.lookforu.net/
(爆笑酷圖) http://coolphoto.withhopes.com/
(愛情遊戲) http://lovegame.dunucry.com/
(精彩視頻) http://wellvideo.upgradelord.com/
(動新聞) http://donewspaper.lastfriend.net/
(短片分享站) http://videoshare.love2funnyshare.com/
(愛情合約) http://lovecontract.ilovefunnyshare.com/
步驟1:(我不用按讚也能看) <--- 對我按滑鼠 右鍵 加入到我的最愛
步驟2:進入 爆笑酷X 後,點擊 剛剛加入的 我的最愛.
步驟3:會跳出小視窗,直接按 X
原本的畫面
變成
2011年11月23日 星期三
[Excel] C# OleDB 連線 Excel 資料檢視 (自訂檢視 欄位、條件)
本篇是 簡介 以 OleDb 來連線至 Excel 檔案 ,並取得資料
點我下載 範例 使用(Source Code)
主要動作:
1.)以 OleDB 連線
2.)取得 分頁表 名稱
3.)SQL 語法取得資料
4.)綁定至 UI
點我下載 範例 使用(Source Code)
主要動作:
1.)以 OleDB 連線
2.)取得 分頁表 名稱
3.)SQL 語法取得資料
4.)綁定至 UI
標籤:
Excel
2011年11月22日 星期二
[C#] 將 Dictionary 內資料 綁定至 ComboBox
將容器 Dictionary 內資料,綁定至 ComboBox 內
//宣告變數
private Dictionary<string, string> Lang = new Dictionary<string, string>();
//使用
//先清空,然後增加資料
Lang.Clear();
Lang.Add("zh-CHT","Chinese (Traditional)");
Lang.Add("en", "English");
Lang.Add("ja","Japanese");
//資料綁定
cmbT.DataSource = new BindingSource(Lang, null);
cmbT.DisplayMember = "value";
cmbT.ValueMember = "key";
cmbT.SelectedIndex = 0;
標籤:
C#
[C#] 運用微軟API 線上翻譯
因為之前 Google 線上翻譯 API 常常無法連線,所以使用 Microsoft TransLate API
來進行翻譯,採用 SOAP 方式來實做,能自動判斷要翻譯的文字 是哪一國語言
,再搭配 熱鍵 的註冊 使用,很方便。
按我下載測試使用
//申請開發者ID
請至 Bing API 這裡 登入帳號密碼,點選 開發人員 --> 點選 Add 新增 Application
填入各項 必要資訊後,會拿到1組 Application ID (把這個ID紀錄起來)
//MSDN參考資料
這裡 有提供相關 使用方式。
//建立專案, 並加入 Web 參考(Web Service)
//使用
string res = Km.Translate("剛剛申請的AppID", "要翻譯的文字", "來源文字語系", "要翻譯的語系", "text/html", "general");
一行就搞定,試試看吧!
目前功能:
1.)會自動判斷 要翻譯的文字語系。
2.)支援熱鍵 Ctrl + Q ,將要翻譯的文字反白選擇後,按熱鍵會自動翻譯。
3.)翻譯結果 僅支援 繁體中文、英文、日文
來進行翻譯,採用 SOAP 方式來實做,能自動判斷要翻譯的文字 是哪一國語言
,再搭配 熱鍵 的註冊 使用,很方便。
按我下載測試使用
//申請開發者ID
請至 Bing API 這裡 登入帳號密碼,點選 開發人員 --> 點選 Add 新增 Application
填入各項 必要資訊後,會拿到1組 Application ID (把這個ID紀錄起來)
//MSDN參考資料
這裡 有提供相關 使用方式。
//建立專案, 並加入 Web 參考(Web Service)
//使用
string res = Km.Translate("剛剛申請的AppID", "要翻譯的文字", "來源文字語系", "要翻譯的語系", "text/html", "general");
一行就搞定,試試看吧!
目前功能:
1.)會自動判斷 要翻譯的文字語系。
2.)支援熱鍵 Ctrl + Q ,將要翻譯的文字反白選擇後,按熱鍵會自動翻譯。
3.)翻譯結果 僅支援 繁體中文、英文、日文
標籤:
C#
2011年11月18日 星期五
[C#] 讓電腦說話 Speech SDK
在製造現場作業 工作站裡,每個作業操作流程 都會產生 通知訊息
例如: OK 、NG、混料 、作業No 錯誤 .. 等等
先前的作法是,依據 各個訊息 錄製對應的 Wav 檔案來播放
目前嘗試使用 SDK 來自動播放語音。
若安裝 基本SDK 只能播放 英文語音,若要 念中文 則需要額外安裝 LangPack
//引用
using SpeechLib;
//使用
private void button1_Click(object sender, EventArgs e)
{
SpeechVoiceSpeakFlags SP = SpeechVoiceSpeakFlags.SVSFlagsAsync;
SpVoice Voice = new SpVoice();
Voice.AllowAudioOutputFormatChangesOnNextSet = true;
Voice.Rate = -3; // 速度 +- 100
Voice.Volume = 100; //音量 0~100
Voice.Speak("Good Job", SP); //念出 Good Job
}
下載 範例 Source Code 檔案
Quick links
Important File Download Details
例如: OK 、NG、混料 、作業No 錯誤 .. 等等
先前的作法是,依據 各個訊息 錄製對應的 Wav 檔案來播放
目前嘗試使用 SDK 來自動播放語音。
若安裝 基本SDK 只能播放 英文語音,若要 念中文 則需要額外安裝 LangPack
//引用
using SpeechLib;
//使用
private void button1_Click(object sender, EventArgs e)
{
SpeechVoiceSpeakFlags SP = SpeechVoiceSpeakFlags.SVSFlagsAsync;
SpVoice Voice = new SpVoice();
Voice.AllowAudioOutputFormatChangesOnNextSet = true;
Voice.Rate = -3; // 速度 +- 100
Voice.Volume = 100; //音量 0~100
Voice.Speak("Good Job", SP); //念出 Good Job
}
下載 範例 Source Code 檔案
Quick links
The links in this section correspond to files available for this download.
Download the files appropriate for you.
Important File Download Details
- If you want to download sample code, documentation, SAPI, and the U.S. English Speech engines for development purposes, download the Speech SDK 5.1 file (SpeechSDK51.exe).
- If you want to use the Japanese and Simplified Chinese engines for development purposes, download the Speech SDK 5.1 Language Pack file (SpeechSDK51LangPack.exe) in addition to the Speech SDK 5.1 file.
- If you want to redistribute the Speech API and/or the Speech engines to integrate and ship as a part of your product, download the Speech 5.1 SDK Redistributables file (SpeechSDK51MSM.exe).
- If you want to get only the Mike and Mary voices redistributable for Windows XP, download Mike and Mary redistributables (Sp5TTIntXP.exe).
- If you only want the documentation, download the Documentation file (sapi.chm).
標籤:
C#
2011年11月17日 星期四
[Other] 快速將文章分享 到 Google+ 或 Facebook
因為社群的崛起,很多人都開始經營自己的 社群專頁 或 粉絲群
我也不例外,也因此 常常看到好文章的時候,又想分享給 好朋友們的時候
就可以利用下列這兩個書籤。
分享至Google+ 分享至Facebook
使用方法:
Firefox 的用戶 -- 直接將 連結網址 拖曳 到你的書籤 工具列上。
IE 的用戶 -- 對連結網址 按滑鼠右鍵 ,選擇 加到我的最愛(如下圖)。
我也不例外,也因此 常常看到好文章的時候,又想分享給 好朋友們的時候
就可以利用下列這兩個書籤。
分享至Google+ 分享至Facebook
使用方法:
Firefox 的用戶 -- 直接將 連結網址 拖曳 到你的書籤 工具列上。
IE 的用戶 -- 對連結網址 按滑鼠右鍵 ,選擇 加到我的最愛(如下圖)。
標籤:
Other
[ASSCESS] OleDb 控制 ASSCESS 新增、修改、刪除 資料
本篇是 簡介 以 OleDb 來連線至 ASSCESS (mdb)檔案 ,並取得資料
範例檔案 按我 下載
//引用
using System.Data.OleDb;
//變數宣告
private static System.Data.OleDb.OleDbConnection oleConn = null;
//連線的方法
private static void ConnectAsscessDB()
{
oleConn = new System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;Data Source="+AsscessDB_Full_path+ ";Jet OleDb:DataBase Password=green");
if (oleConn.State == ConnectionState.Closed)
{
oleConn.Open();
}
}
//釋放連線
private static void DisConnectAsscessDB()
{
if (oleConn.State == ConnectionState.Open)
{
oleConn.Close();
oleConn.Dispose();
}
}
//返回 Datatable 的方法
public static DataTable GetDateTable(string sqlstr)
{
DataTable dt = new DataTable("BOM");
OleDbDataAdapter da = new OleDbDataAdapter();
try
{
ConnectAsscessDB();
OleDbCommand comm = new OleDbCommand();
comm.Connection = oleConn;
comm.CommandType = CommandType.Text;
comm.CommandText = sqlstr;
da.SelectCommand = comm;
da.Fill(dt);
}
catch (Exception e)
{
throw new Exception(e.Message);
}
finally
{
DisConnectAsscessDB();
}
return dt;
}
//使用的方法
DataTable d = new DataTable();
d.Clear();
d = GetDateTable(sql命令);
//2011-11-23 追加 將取回 DataTable 綁定至 Data dataGridView1
dataGridView1.DataSource = dt;
dataGridView1.Update();
//2011-11-23 追加 若 dataGridView1 做 新增、修改、刪除 後要將資料回填 Asscess
//注意 新增不需要PK , 但是 修改、刪除 需要 PK (例如 Excel 當作資料來源時,要特別注意)
OleDbCommandBuilder builder = new OleDbCommandBuilder(odp);
if (dt.GetChanges() != null)
{
//MessageBox.Show(dt.GetChanges().Rows.Count.ToString());
odp.Update(dt);
dt.AcceptChanges();
}
範例檔案 按我 下載
//引用
using System.Data.OleDb;
//變數宣告
private static System.Data.OleDb.OleDbConnection oleConn = null;
//連線的方法
private static void ConnectAsscessDB()
{
oleConn = new System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;Data Source="+AsscessDB_Full_path+ ";Jet OleDb:DataBase Password=green");
if (oleConn.State == ConnectionState.Closed)
{
oleConn.Open();
}
}
//釋放連線
private static void DisConnectAsscessDB()
{
if (oleConn.State == ConnectionState.Open)
{
oleConn.Close();
oleConn.Dispose();
}
}
//返回 Datatable 的方法
public static DataTable GetDateTable(string sqlstr)
{
DataTable dt = new DataTable("BOM");
OleDbDataAdapter da = new OleDbDataAdapter();
try
{
ConnectAsscessDB();
OleDbCommand comm = new OleDbCommand();
comm.Connection = oleConn;
comm.CommandType = CommandType.Text;
comm.CommandText = sqlstr;
da.SelectCommand = comm;
da.Fill(dt);
}
catch (Exception e)
{
throw new Exception(e.Message);
}
finally
{
DisConnectAsscessDB();
}
return dt;
}
//使用的方法
DataTable d = new DataTable();
d.Clear();
d = GetDateTable(sql命令);
//2011-11-23 追加 將取回 DataTable 綁定至 Data dataGridView1
dataGridView1.DataSource = dt;
dataGridView1.Update();
//2011-11-23 追加 若 dataGridView1 做 新增、修改、刪除 後要將資料回填 Asscess
//注意 新增不需要PK , 但是 修改、刪除 需要 PK (例如 Excel 當作資料來源時,要特別注意)
OleDbCommandBuilder builder = new OleDbCommandBuilder(odp);
if (dt.GetChanges() != null)
{
//MessageBox.Show(dt.GetChanges().Rows.Count.ToString());
odp.Update(dt);
dt.AcceptChanges();
}
標籤:
ASSCESS
2011年11月16日 星期三
[TOOLS] 混淆工具 Xenocode Postbuild 2009 for .Net
首先是 版本
選擇要混淆的檔案 選取 Add 來增加檔案
混淆設定
-1.勾選第1項
-2.ILDASM 不勾選(防毒軟體會誤判為病毒)
-3.Control Level 選 4
-4.Select String 內 選 "Select All" 做字串混淆
選擇要混淆的檔案 選取 Add 來增加檔案
混淆設定
-1.勾選第1項
-2.ILDASM 不勾選(防毒軟體會誤判為病毒)
-3.Control Level 選 4
-4.Select String 內 選 "Select All" 做字串混淆
標籤:
TOOLS
[C#] KMAudioDown MU空間 MP3 下載 [0.0.0.5]
針對 MU 免空 ,將近期MP3 壓縮檔 下載。
MP3 僅為試聽使用,請下載後刪除。
請購買正版音樂光碟。
檔案下載後請解壓縮後,執行。 (檔案下載)
Ps. 若無法執行檔案,請安裝 .Net Framework 2.0 環境 (下載)
--版本更新 0.0.0.5 --
1.免空改版對應,請自行等候讀秒,點選普通下載
--版本更新 0.0.0.4 --
1.變更連結方式
--版本更新 0.0.0.3 --
1.修正正確網址
--版本更新 0.0.0.2 --
1.修復無效字串
2.追加 檢測新版本連結
MP3 僅為試聽使用,請下載後刪除。
請購買正版音樂光碟。
檔案下載後請解壓縮後,執行。 (檔案下載)
Ps. 若無法執行檔案,請安裝 .Net Framework 2.0 環境 (下載)
--版本更新 0.0.0.5 --
1.免空改版對應,請自行等候讀秒,點選普通下載
--版本更新 0.0.0.4 --
1.變更連結方式
--版本更新 0.0.0.3 --
1.修正正確網址
--版本更新 0.0.0.2 --
1.修復無效字串
2.追加 檢測新版本連結
標籤:
C#
[外掛] FaceBook WebGame 熱血海盜王 研究
老實說 這個 Web Game 我自己覺得不耐玩,所以研究項目不多
寫了個 自動抓俘虜 的介面,連結網址在下方。
Ps. 若無法執行檔案,請安裝 .Net Framework 2.0 環境 (下載)
想要 自動抓俘虜 的時候 在兩個欄位 填入 島嶼編號的範圍
例如填上 1 以及 100 ,那就會自動打 島嶼編號1 ~ 100 的玩家
按我下載
寫了個 自動抓俘虜 的介面,連結網址在下方。
Ps. 若無法執行檔案,請安裝 .Net Framework 2.0 環境 (下載)
想要 自動抓俘虜 的時候 在兩個欄位 填入 島嶼編號的範圍
例如填上 1 以及 100 ,那就會自動打 島嶼編號1 ~ 100 的玩家
按我下載
//2011-11-30 更新
因為免費放置空間 07.hd 改版檔案遭移除,變更 放置空間
標籤:
外掛
[TOOLS] Windbg 分析 Dump 檔案
這是要解析 Dump File 的工具
首先開啟 windbg 工具 (Windbg 工具下載),載入 "Open Crash Dump",
然後 載入符號表( 符號表下載 )
在下方的輸入方框 輸入 "!analyze -v" 可以得到相關資訊。
另外,也可以下載 BlueScreenView 工具,也可以很簡易的觀看 Crash Root Cause
BlueScreenView 工具下載
首先開啟 windbg 工具 (Windbg 工具下載),載入 "Open Crash Dump",
然後 載入符號表( 符號表下載 )
在下方的輸入方框 輸入 "!analyze -v" 可以得到相關資訊。
另外,也可以下載 BlueScreenView 工具,也可以很簡易的觀看 Crash Root Cause
BlueScreenView 工具下載
標籤:
TOOLS
2011年11月14日 星期一
[C#] 製程能力指標 Cpk 計算
在做統計的時候都會使用到.
這裡是採用新式計算方式, 判斷 CpkU 、CpkL 取數值比較小的
Math.Abs(Math.Min(CpkU, CpkL));
其中 CpkU、CpkL 的公式如下:
CpkU=(USL-平均值) / 3*標準差
CPkL=(平均值-LSL) / 3*標準差
其中 USL、LSL 定義:
USL:規格上限
LSL:規格下限
Source Code 下載
這裡是採用新式計算方式, 判斷 CpkU 、CpkL 取數值比較小的
Math.Abs(Math.Min(CpkU, CpkL));
其中 CpkU、CpkL 的公式如下:
CpkU=(USL-平均值) / 3*標準差
CPkL=(平均值-LSL) / 3*標準差
其中 USL、LSL 定義:
USL:規格上限
LSL:規格下限
Source Code 下載
標籤:
C#
2011年11月11日 星期五
[C#] UNC 網路芳鄰連接 含帳號密碼 [使用WindowsIdentity方法]
之前有寫過 UNC 連接,但是是採用 CMD 模式 請見
string IPath = @"\\" + z.Server_IP + @"\ftp";
const int LOGON32_PROVIDER_DEFAULT = 0;
const int LOGON32_LOGON_NEW_CREDENTIALS = 9;
IntPtr tokenHandle = new IntPtr(0);
tokenHandle = IntPtr.Zero;
bool returnValue = LogonUser(z.UserNmae, z.Server_IP, z.Password,
LOGON32_LOGON_NEW_CREDENTIALS,
LOGON32_PROVIDER_DEFAULT,
ref tokenHandle);
[C#] UNC 網路芳鄰連接 含帳號密碼
這一次因為是要在 IIS 上執行,所以改採用 WindowsIdentity 來作業.
//首先
using System.Security.Permissions;
using System.Runtime.InteropServices;
using System.Security.Principal;
using System.Runtime.InteropServices;
using System.Security.Principal;
//追加 namespace 上方
[assembly: SecurityPermissionAttribute(SecurityAction.RequestMinimum, UnmanagedCode = true)]
[assembly: PermissionSetAttribute(SecurityAction.RequestMinimum, Name = "FullTrust")]
[assembly: PermissionSetAttribute(SecurityAction.RequestMinimum, Name = "FullTrust")]
//Dll
[DllImport("advapi32.dll", SetLastError = true)]
public static extern bool LogonUser(
string lpszUsername,
string lpszDomain,
string lpszPassword,
int dwLogonType,
int dwLogonProvider,
ref IntPtr phToken);
[DllImport("advapi32.dll", SetLastError = true)]
public static extern bool LogonUser(
string lpszUsername,
string lpszDomain,
string lpszPassword,
int dwLogonType,
int dwLogonProvider,
ref IntPtr phToken);
[DllImport("kernel32.dll")]
public extern static bool CloseHandle(IntPtr hToken);
public extern static bool CloseHandle(IntPtr hToken);
public class Connect_Net
{
public string Server_IP
{
get;
set;
}
public string UserNmae
{
get;
set;
}
public string Password
{
get;
set;
}
{
public string Server_IP
{
get;
set;
}
public string UserNmae
{
get;
set;
}
public string Password
{
get;
set;
}
}
private void button1_Click(object sender, EventArgs e)
{
Connect_Net z = new Connect_Net();
z.UserNmae = "ftpuser";
z.Password= "ftpuser";
z.Server_IP = "172.23.108.157";
{
Connect_Net z = new Connect_Net();
z.UserNmae = "ftpuser";
z.Password= "ftpuser";
z.Server_IP = "172.23.108.157";
string IPath = @"\\" + z.Server_IP + @"\ftp";
const int LOGON32_PROVIDER_DEFAULT = 0;
const int LOGON32_LOGON_NEW_CREDENTIALS = 9;
IntPtr tokenHandle = new IntPtr(0);
tokenHandle = IntPtr.Zero;
bool returnValue = LogonUser(z.UserNmae, z.Server_IP, z.Password,
LOGON32_LOGON_NEW_CREDENTIALS,
LOGON32_PROVIDER_DEFAULT,
ref tokenHandle);
WindowsIdentity w = new WindowsIdentity(tokenHandle);
System.Security.Principal.WindowsImpersonationContext kk = w.Impersonate();
if (false == returnValue)
{
return;
}
DirectoryInfo dir = new DirectoryInfo(IPath);
FileInfo[] inf = dir.GetFiles();
for (int i = 0; i < inf.Length; i++)
{
Console.WriteLine(inf[i].Name);
//檔案取回
System.IO.File.Copy("\\\\"+z.Server_IP+"\\ftp\\"+inf[i].Name, "C:\\"+inf[i].Name+".jpg");
}
kk.Undo();
}
System.Security.Principal.WindowsImpersonationContext kk = w.Impersonate();
if (false == returnValue)
{
return;
}
DirectoryInfo dir = new DirectoryInfo(IPath);
FileInfo[] inf = dir.GetFiles();
for (int i = 0; i < inf.Length; i++)
{
Console.WriteLine(inf[i].Name);
//檔案取回
System.IO.File.Copy("\\\\"+z.Server_IP+"\\ftp\\"+inf[i].Name, "C:\\"+inf[i].Name+".jpg");
}
kk.Undo();
}
標籤:
C#
2011年11月10日 星期四
2011年11月9日 星期三
[C#] JSON 序列化及反序列化 筆記
今天有使用到 先作個 Demo 筆記
下記範例下載
1.) 需要加入參考
System.ServiceModel.Web
System.Runtime.Serialization
2.) 先建立對象
public class Pz
{
public string EMP_ID { get; set; }
public string NAME { get; set; }
public int Age { get; set; }
}
3.) 做序列化
Pz Q = new Pz();
Q.Age = 10;
Q.EMP_ID = "12345";
Q.NAME = "king";
DataContractJsonSerializer ds = new DataContractJsonSerializer(typeof(Pz));
using (MemoryStream ms = new MemoryStream())
{
ds.WriteObject(ms, Q);
output = Encoding.UTF8.GetString(ms.ToArray());
MessageBox.Show("這是序列化:" + output);
}
4.) 反序列化
if (output.Length == 0)
{
return;
}
DataContractJsonSerializer outDs = new DataContractJsonSerializer(typeof(Pz));
using (MemoryStream outMs = new MemoryStream(Encoding.UTF8.GetBytes(output)))
{
Pz QQ = outDs.ReadObject(outMs) as Pz;
MessageBox.Show(QQ.Age + "," + QQ.EMP_ID + "," + QQ.NAME);
}
下記範例下載
1.) 需要加入參考
System.ServiceModel.Web
System.Runtime.Serialization
2.) 先建立對象
public class Pz
{
public string EMP_ID { get; set; }
public string NAME { get; set; }
public int Age { get; set; }
}
3.) 做序列化
Pz Q = new Pz();
Q.Age = 10;
Q.EMP_ID = "12345";
Q.NAME = "king";
DataContractJsonSerializer ds = new DataContractJsonSerializer(typeof(Pz));
using (MemoryStream ms = new MemoryStream())
{
ds.WriteObject(ms, Q);
output = Encoding.UTF8.GetString(ms.ToArray());
MessageBox.Show("這是序列化:" + output);
}
4.) 反序列化
if (output.Length == 0)
{
return;
}
DataContractJsonSerializer outDs = new DataContractJsonSerializer(typeof(Pz));
using (MemoryStream outMs = new MemoryStream(Encoding.UTF8.GetBytes(output)))
{
Pz QQ = outDs.ReadObject(outMs) as Pz;
MessageBox.Show(QQ.Age + "," + QQ.EMP_ID + "," + QQ.NAME);
}
標籤:
C#
2011年11月8日 星期二
[Excel] 簡化複製/選擇性 貼上 的速度
有些人的工作內容,可能會一直在 Excel 上做 複製/貼上 的作業,
當然 如果只是簡單的 Ctrl+C , Ctrl+V 沒什麼好介紹的,
由於工作單位內部 有人提出希望能夠 簡化(或加快) 複製/選擇性貼上 的作業。
本來想要自己寫 KeyBoard Hook 來做的,只是想到要客製化 那麼多需求就軟了
所以找阿找阿,找到這一款 可以符合需求,使用上也很簡單。
Hotkeyz 官網
有免安裝可以直接下載 官網免安裝下載
或是 已寫好的 直接下載
使用效果:直接按下熱鍵(F3)複製 達到 選擇性貼上(F4) 的效果
[V]
[ENTER]
當然 如果只是簡單的 Ctrl+C , Ctrl+V 沒什麼好介紹的,
由於工作單位內部 有人提出希望能夠 簡化(或加快) 複製/選擇性貼上 的作業。
本來想要自己寫 KeyBoard Hook 來做的,只是想到要客製化 那麼多需求就軟了
所以找阿找阿,找到這一款 可以符合需求,使用上也很簡單。
Hotkeyz 官網
有免安裝可以直接下載 官網免安裝下載
或是 已寫好的 直接下載
使用效果:直接按下熱鍵(F3)複製 達到 選擇性貼上(F4) 的效果
Step1:選擇新增
Step2:在 Command 頁面
Desciption(可以辨識的名字), Command(Remap), Hotkey(直接設定要使用的熱鍵)
Step3:在 參數頁面 打上 [CONTROLD][C][CONTROLU] 然後按 OK 即可.
Step4:選擇性貼上的頁面
Step5:選擇性貼上 頁面的 參數
[ALTD][E][ALTU]
[S][V]
[ENTER]
最後記得在 主頁面上 按 [SAVE] 保存
聰明的看官 其實應該看出來了 。。這是不是很方便呢?
標籤:
Excel
訂閱:
文章 (Atom)