顯示具有 Office 標籤的文章。 顯示所有文章
顯示具有 Office 標籤的文章。 顯示所有文章

2020年8月11日 星期二

Outlook 2010 to Office365 via Squid proxy

 狀況:

Outlook 2010 連到 Office 365 等很久 (狀態顯示:嘗試連線),最後會連線成功。


原因:

Squid proxy 預設安裝只有 http proxy,對於其他 port 是建立 tunnel。


解法:

啟用Squid SSL bump,將 Office 365 的網域加入 ssl_exclude_domains.conf


步驟:

1. Create CA certificate and key for SSL bump

cd /etc/squid

mkdir ssl_cert

chown squid:squid ssl_cert

chmod 700 ssl_cert

cd ssl_cert

openssl req -new -newkey rsa:2048 -sha256 -days 3650 -nodes -x509 -keyout myCA.pem  -out myCA.pem

2. Generate DH parameters in '/etc/squid' folder

openssl dhparam -outform PEM -out dhparam.pem 2048

3. extract certificate for importing in browsers

openssl x509 -in myCA.pem -outform DER -out myCA.der

4. Edit '/etc/squid/squid.conf' and use following before 'http_access deny all' rule

# Enable SSL bump

#acl step1 at_step SslBump1

#acl step2 at_step SslBump2

#acl step3 at_step SslBump3

acl ssl_exclude_domains ssl::server_name "/etc/squid/ssl_exclude_domains.conf"

acl ssl_exclude_ips     dst              "/etc/squid/ssl_exclude_ips.conf"


#ssl_bump splice localhost

#ssl_bump peek step1 all

ssl_bump splice ssl_exclude_domains

ssl_bump splice ssl_exclude_ips

#ssl_bump stare step2 all

#ssl_bump bump all


# And finally deny all other access to this proxy

http_access allow all

#http_access deny all

#http_port 3128
http_port  3128 ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=16MB cert=/etc/squid/ssl_cert/myCA.pem

5. Edit /etc/squid/ssl_exclude_domains.conf
.office365.com
.outlook.com

Reference:

Feature: SslBump Peek and Splice

在 Squid 服務中配置 SSL Bumping

Configure squid-3.3 in transparent mode on CentOS 7 with SSL bump

How to enable HTTPS decryption (SslBump) in Squid 3.5 for Windows?


PS. 我的環境如果勾 近端網址不使用Proxy伺服器,Outlook還是會等很久。


2020年6月20日 星期六

excel odbc 驅動程式管理員 找不到資料來源名稱且未指定預設的驅動程式

Error:
odbc 驅動程式管理員 找不到資料來源名稱且未指定預設的驅動程式


Cause:
沒有設定Database。並不是驅動程式問題。

Solution:
SQL Server Native Client 11.0 ODBC Driver connection strings

Driver=SQL Server;Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;





2020年6月15日 星期一

outlook 開啟附檔 沒有回應

Reference:
「Outlook not responding」錯誤或在開啟檔案或傳送電子郵件時 Outlook 發生凍結

狀況:
Outlook 開啟附檔時,顯示 沒有回應,卡住幾分鐘後附檔才打開。

解法:
調整 Outlook 增益集。
感覺卡住像是在檢查病毒,所以先把防毒的 Add-on 關閉測試,一猜就中!
重開 Outlook 再測試附檔已經不會卡住了。


2020年4月13日 星期一

Outlook附件禁止收取

Reference:
解決Outlook 禁止存取下列可能不安全的附件,更新檔作祟!

錯誤訊息:
Outlook禁止存取下列可能不安全的附件。

解法:
移除更新檔
Outlook 2007 (KB3191898)
Outlook 2010 (KB3203467)
Outlook 2013 (KB3191938)
Outlook 2016 (KB3191932)

2018年5月4日 星期五

VBA to get web asp table

Reference:
Fetch data from website table using vba


Private Sub finance_data()
    Dim url As String, lastRow As Long
    Dim XMLHTTP As Object, html As Object
    Dim tbl As Object, obj_tbl As Object
    Dim TR As Object, TD As Object
    Dim row As Long, col As Long

    lastRow = Range("A" & Rows.Count).End(xlUp).row

    url = "http://www.taifex.com.tw/chinese/9/9_7_1.asp"

    Set XMLHTTP = CreateObject("MSXML2.XMLHTTP")
    XMLHTTP.Open "GET", url, False
    XMLHTTP.setRequestHeader "Content-Type", "text/xml"
    XMLHTTP.send

    Set html = CreateObject("htmlfile")
    html.body.innerHTML = XMLHTTP.ResponseText
    Set obj_tbl = html.getelementsbytagname("table")

    row = 1
    col = 1

    For Each tbl In obj_tbl
        If tbl.classname = "table_c" Then
            Set TR = tbl.getelementsbytagname("TR")

            For Each obj_row In TR
                For Each TD In obj_row.getelementsbytagname("TD")
                    Cells(row, col) = TD.innerText
                    col = col + 1
                Next
                col = 1    ' reseting the value
                row = row + 1
            Next
        End If
    Next

2017年8月23日 星期三

VBA Check for folder; create if it does not exist

Reference:
Check for folder; create if it does not exist

Sub TestForDir()
    Dim strDir As String
    strDir = "C:\My Documents\TestDir\"
   
    If Dir(strDir, vbDirectory) = "" Then
        MkDir strDir
    Else
        MsgBox "Directory exists."
    End If
End Sub

2017年7月6日 星期四

outlook 2007 block xlsx as unsafe attachment

Reference:
Unblock Attachments
Attachments are blocked after applying June 2017 update
Description of the security update for Outlook 2007: June 13, 2017

2017/6/13 的 Office Security Update 造成 Outlook 收到 .xlsx,會顯示 blocked access to the following potentially unsafe attachments。

暫時解法:
執行 regedit 新增 HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Outlook\Security\AllowUnregisteredMapiServices,格式為 DWARD,值為 1。

只能等 Microsoft 的修正檔了。

2016年10月26日 星期三

Excel VBA 下拉清單

Reference:
https://msdn.microsoft.com/zh-tw/library/office/ff835840.aspx
http://forum.twbts.com/thread-3516-1-1.html


1. 選擇 開發人員
2. 插入 下拉清單
3. 點選 下拉清單
4. 輸入 下拉清單名稱,按 Enter 確定
5. 按 Alt + F11 開啟 VBA 編輯畫面
6. 輸入 VBA 程式

Sub tt()
    Sheet1.Shapes("mon_1").ControlFormat.RemoveAllItems     '清除所有下拉選項
    Sheet1.Shapes("mon_1").ControlFormat.AddItem ("111")    '新增一筆下拉選項
    Sheet1.Shapes("mon_1").ControlFormat.AddItem ("aaa")    '新增一筆下拉選項
    Sheet1.Shapes("mon_1").ControlFormat.AddItem ("xxx")    '新增一筆下拉選項
    Sheet1.Shapes("mon_1").ControlFormat.Value = 2          '將下拉選單設定預設值為第二筆
    MsgBox (Sheet1.Shapes("mon_1").ControlFormat.List(2))   '顯示第二筆選單的值
End Sub

2016年10月14日 星期五

VBA to get web asp result

Reference:
Excel VBA 2a:Learning MSXML2.XMLHTTP
Scraping a website's HTML in VBA
XmlHttp Post in Excel VBA not updating website form

Example:
use VBA to download 台灣期貨交易所的台股期貨
http://www.taifex.com.tw/chinese/3/3_1_2.asp

VBA code:
Sub get_taifex()
    Dim pXmlHttp As Object
    Set pXmlHttp = CreateObject("MSXML2.XMLHTTP")
    pXmlHttp.Open "POST", "http://www.taifex.com.tw/chinese/3/3_1_2dl.asp", False
    pXmlHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
    pXmlHttp.send ("goday=&DATA_DATE=&DATA_DATE1=&DATA_DATE_Y=&DATA_DATE_M=&DATA_DATE_D=&DATA_DATE_Y1=&DATA_DATE_M1=&DATA_DATE_D1=&syear=&smonth=&sday=&syear1=&smonth1=&sday1=&datestart=2016%2F09%2F14&dateend=2016%2F10%2F14&COMMODITY_ID=TX&commodity_id2t=&his_year=2015")
   
    MsgBox pXmlHttp.ResponseText
End Sub

用 Wireshark 收集到的網頁傳輸參數

2016年9月29日 星期四

Excel Chart with VBA

Reference: 

用 VBA 為新增圖表
    Sheet1.Select
    ActiveSheet.Shapes.AddChart.Select    '新增圖表
    ActiveChart.ChartType = xlLine            '折線圖
    With ActiveChart.Parent
        .Name = "3260.TW"                           '命名
        .Height = Range("A2:F12").Height    '高
        .Width = Range("A2:F12").Width      '寬
        .Top = Range("A2").Top                     '位置
        .Left = Range("A2").Left                    '位置
    End With

也可以用pixel數
     With ActiveChart.Parent
         .Height = 325 ' resize
         .Width = 500  ' resize
         .Top = 100    ' reposition
         .Left = 100   ' reposition
     End With

2016年9月14日 星期三

Excel VBA 更改文字方塊內容

如果不用 VBA,參考這一篇可以做到 文字方塊 和 特定儲存格 同步。
Excel-讓圖表的標題自動更新

設定 文字方塊 的名稱,提供 VBA 使用。
How to change textbox name in Excel 2007 and 2010 in a chart tab?

用 VBA 設定文字方塊 的內容。
Working with textboxes (vba)

設定文字方塊 Example:
Sheet1.Shapes("文字方塊 1").TextFrame.Characters.Text = "aaaa"

設定圖表中的文字方塊 Example:
Sheet1.ChartObjects("圖表 2").Chart.Shapes("文字方塊 1").TextFrame.Characters.Text = "bbb"

2016年7月27日 星期三

OneNote 2016 無法登入

安裝 OneNote 2016 後一直無法登入。
輸入 Microsoft Account 後出現 "很抱歉,伺服器發生問題,因此目前無法新增 Office 365 SharePoint。請稍候再試一次。"

亂試好多方法,最後終於登入了。
最後一次是先按一次 OneNote 登入不進去,讓登入的畫面留著,在工作列的 OneNote 2016 圖示上按滑鼠右鍵,選 OneNote 2016 並輸入 Microsoft Account / Password 就成功了。

不確定這是不是解法,或是剛好 Microsoft 的伺服器修好了。

2016年4月8日 星期五

excel vba sql server select query

Reference:
Query MS SQL Server With Excel VBA

' Before we can start you’ll need to add a reference to your VBA project:
' Microsoft ActiveX Data Objects x.x Library

Option Explicit
Private Conn As ADODB.Connection

Function ConnectToDB(Server As String, Database As String) As Boolean

    Set Conn = New ADODB.Connection
    On Error Resume Next
   
    Conn.ConnectionString = "Provider=SQLOLEDB.1; Integrated Security=SSPI; Server=" & Server & "; Database=" & Database & ";"
    Conn.Open
   
    If Conn.State = 0 Then
        ConnectToDB = False
    Else
        ConnectToDB = True
    End If

End Function

Function Query(SQL As String)

    Dim recordSet As ADODB.recordSet
    Dim Field As ADODB.Field

    Dim Col As Long

    Set recordSet = New ADODB.recordSet
    recordSet.Open SQL, Conn, adOpenStatic, adLockReadOnly, adCmdText

    If recordSet.State Then
        Col = 1
        For Each Field In recordSet.Fields
            Cells(1, Col) = Field.Name
            Col = Col + 1
        Next Field

        Cells(2, 1).CopyFromRecordset recordSet
        Set recordSet = Nothing
    End If
End Function

Public Sub Run()

    Dim SQL As String
    Dim Connected As Boolean

    SQL = "SELECT * FROM QUOTA_Quota"

    Connected = ConnectToDB("SQL_SERVER", "DB_Name")

    If Connected Then
        Call Query(SQL)
       
        Conn.Close
    Else
        MsgBox "Huston we have a problem!"
    End If

End Sub

2016年4月7日 星期四

VBA 消除字串全部的空白

Reference:
HOWTO:使用 Split 函式將區隔的字串放入字串陣列中

Function remove_space(str_in As String) As String
    Dim tmp_array() As String
    rst_str = ""
    tmp_array() = Split(str_in)
    For i = LBound(tmp_array) To UBound(tmp_array)
        rst_str = rst_str & tmp_array(i)
    Next
    remove_space = rst_str
End Function

2015年7月28日 星期二

Outlook 2007 sort mail by conversation

目的:
在 outlook 2007 中,將同一主題的信件集中起來

做法:
1. Add field "Conversation"

 2. Right Click on field Conversation. Arrange by Conversation.


Reference:
Managing Outlook 2007 Email Via Threaded Conversations by Mike Heald

2015年3月9日 星期一

Word 轉 PDF

Office 2007有內建 SaveAs PDF 的功能。

浮水印可以在 Word 2007 裡面設定後另存為 PDF。
設定方法請參考這一篇