promotion image of download ymail app
Promoted

【衍生題】FB社團用拖拉貼上EXCEL再用VBA整理,謝謝。

【衍生題】FB社團用拖拉貼上EXCEL再用VBA整理,謝謝。【請先參考前題】https://tw.knowledge.yahoo.com/question/question?q... 2.朋友朋友或摯友朋友[有一個超連結是沒作用的] 3.好友暱稱 4.幾位朋友或是共同朋友或是學歷[但是有的特殊=沒共同朋友.就不顯示.也不佔用一列。有學歷就不顯示好友人數]=請注意這種沒有朋友的只有三列喔圖片:每一張開始都在第一列的空白處,後面的照片會蓋上前面的一列,原則上都是四列半。希望把這些資料都寫入一列之中.原則跟前題相同。增加G欄與H欄[均取超連結],以利整體參考… 這裡的圖片為利工程師撰寫程式,自己PO之前的發問題的照片,有的會重複,測試而已。 http://www.FunP.Net/35247800PHOTONEW.rar

4 個解答

評分
  • 5 年前
    最佳解答

    參考檔:

    http://www.funp.net/323212

    能用的程式指令都在裡面,有問題自行去套用調整;

    圖片及資料位置若不規則,只有人工,沒辦法~~

    2015-05-31 20:38:30 補充:

    問1:程式以連結址是否含"fref="為有效,目前只能找出這規則

    問2:程式開頭就是,怎光測試而不細究程式碼???

    花近一兩小時寫程式及測試除錯,您只花幾分鐘就瞭,真厲害~~

    2015-06-02 10:14:12 補充:

    比如如何將照片大變小??

    For Each Shp In Sheets("原檔").Shapes

      Set xR = Shp.TopLeftCell

      Shp.Top = xR.Top: Shp.Left = xR.Left: Shp.Height = xR.Height

    Next

    Shp.TopLeftCell → 圖片佔用位置的〔左上角〕儲存格

    2015-06-02 10:17:32 補充:

    如何去挑取這些資料??

    T = xR.Hyperlinks(1).Address →取出超連結網址文字

    If InStr(T, "fref=") = 0 Then GoTo 101 →超連結含"fref=",否則略過

    這"fref="必須花時間去找各組資料統一的規則~~

    2015-06-02 10:22:44 補充:

    程式碼非常〔白話〕,實沒什麼可解說的,

    之前抓圖片的題有很多題庫,應自行多花些時間去研究,

    _同一片藥膏,貼手或貼腳,要自行去剪裁的

    2015-06-02 21:02:05 補充:

    測試檔:

    http://www.funp.net/551239

    改以圖片為主,取其底下3列資料,

    但仍無法排除資料本身位置不規則的問題!!

    2015-06-03 10:10:34 補充:

    ~~照片縮小的後面好像有數字喔

    圖片的順序(index)並非由上而下,

    所以加入其〔所在位置〕的〔列號〕,

    當貼入需求表時,就可按此規則重新排序,

    產生與原表相同順序的資料!

    若不管順序,可省去這行,及最後的排序!

    __只要各組資料行數不規則,程式就辦不到正確取值!

    2015-06-03 12:43:11 補充:

    <測試檔>:

    http://www.funp.net/589691

    第4行空白,抓第5行,但不保證正確,

    程式到此為止,請自行去套改~~

    2015-06-05 14:12:15 補充:

    EXCEL VBA.匯整〔資料.超連結.圖片〕為明細格式

                             <.准提部林.>

    ---------------------------------

    ■程式碼:

    Sub Test2()

    Dim xR As Range, xE As Range, Shp As Shape, T$, N%, y&

    Call 清除

    Application.ScreenUpdating = False

    For Each Shp In Sheets("原檔").Shapes

     Set xR = Shp.TopLeftCell: xR = xR.Row

     Shp.Top = xR.Top: Shp.Left = xR.Left: Shp.Height = xR.Height

     If xR.Column <> 1 Then GoTo 101

     y = y + 1: Set xE = Range("A" & y + 1): xE = y

     

     On Error Resume Next

     T = xR(3).Hyperlinks(1).Address

     xE.Hyperlinks.Add Anchor:=xE(1, 3), Address:=T, TextToDisplay:=xR(3).Value

     xE.Hyperlinks.Add Anchor:=xE(1, 4), Address:=T

     

     N = InStr(Replace(T, "?", "&") & "&fref", "&fref")

     T = Left(T, N - 1)

     xE.Hyperlinks.Add Anchor:=xE(1, 5), Address:=T

     

     T = xR(2).Hyperlinks(1).Address

     xE.Hyperlinks.Add Anchor:=xE(1, 7), Address:=T, TextToDisplay:=xR(2).Value

     

     If xR(4) <> "" Then

      T = xR(4).Hyperlinks(1).Address

      xE.Hyperlinks.Add Anchor:=xE(1, 8), Address:=T, TextToDisplay:=xR(4).Value

     Else

      T = xR(5).Hyperlinks(1).Address

      xE.Hyperlinks.Add Anchor:=xE(1, 8), Address:=T, TextToDisplay:=xR(5).Value

     End If

     On Error GoTo 0

     

     xR.Copy xE(1, 2)

     P = ActiveSheet.Shapes.Count

     With ActiveSheet.Shapes(P)

       .LockAspectRatio = msoFalse

       .Left = xE(1, 2).Left + 2

       .Top = xE(1, 2).Top + 2

       .Height = xE(1, 2).Height - 4

       .Width = xE(1, 2).Width - 4

     End With

    101: Next

    [B2:H2].Resize(y).Sort Key1:=[B2], Order1:=xlAscending, Header:=xlNo

    ---------------------------------

    <範例檔>下載:

    檔案名稱:20150531a01(資料圖片重整之二)

    下載位址:http://www.funp.net/589691

    ---------------------------------

    • Commenter avatar登入以對解答發表意見
  • 5 年前

    鴻博娛樂 http://www.hbbet.net

    財神娛樂 http://www.cs777.net

    富貴娛樂 http://www.fk888.net

    24小時不打烊, 多種遊戲任你玩

    • Commenter avatar登入以對解答發表意見
  • 5 年前

    我運用到我的FB~

    2000多人~

    相當順利~

    也才真正了解我到底有哪些好友~

    真是遺憾~

    到現在才能一下看出來~

    連學歷都看到了~

    照片與姓名都是最新的~

    不會用的人那真的很可惜~

    這真的是好金塊的~

    謝謝版主~

    更謝謝准大師~

    • Commenter avatar登入以對解答發表意見
  • 准提部林( 大師 1 級 )

    感謝VBA工程師,收到愛心了,謝謝,辛苦了,犧牲假日服務網友。

    初步測試可以,<先>有兩個問題請教一下:

    1。<陳摸摸>未滿四列的這種怪格式沒出現,是不是把祂過濾掉了。

    2。原稿的圖片是不是把他縮小至每一人的第一列,請問有沒軟體可以使用,不然一大堆好友,每次都要去調整,會累死的呢?請幫忙考慮一下喔,謝謝。

    2015-05-31 20:53:17 補充:

    大師啊

    內行人是看VBA,我是外行人啊,哈,又被您看出程度囉,真厲害喔,我來試試看囉,一定有很多愛心與功力及智慧喔,感恩。

    2015-05-31 21:10:02 補充:

    大師

    真是偉大的VBA工程師喔,大變小,小變中,太厲害了,我的天啊,真是不可思議啊,好感動喔。

    抽空來測好友的3000人的喔,我沒那麼多人,借用好友的FB網頁,在我用複製網頁的過程,可能會很費時的,電腦現在有人要用,所以明日抽空再來試囉,感恩。

    2015-06-01 14:33:22 補充:

    初步測試3000人的一半人數,1472人,拖拉網頁很費時的。

    貼上比較快約1分鐘。

    跑大師程式不到30秒,資料初試,相當不錯,真是太厲害了,

    這個人=陳摸摸=似乎都沒出現,可能是網頁URL問題,抽空再來細看,小地方先不去查,先看整體的。

    抽空再來測試3000人的看看,應該是不會有問題的,整體照片看起來真的賞心悅目,對自己所有好友一目了然,讚嘆VBA工程師的偉大,聰明的人一看這個軟體一定要好好珍藏的。

    好像沒看到學歷的人員,這些也是不多,抽空再說囉。

    感謝大師喔,辛苦了。

    2015-06-01 16:30:38 補充:

    大致核對一下,供工程師參考:

    學歷欄都沒出現=因為複製貼上後沒顯示超連結==這就算了

    抓出2786人

    總計人數3010

    差224人

    可能是FB的關係吧

    抓不到的區分為三

    1.好友帳號已刪除.網頁還留到.==不管它

    2.總計人數之中.有些是垃圾.FB沒人清.==不管它

    3.有一些是?rf= 建議VBA工程師加入 OR rf= 試試

    可能會變更多.

    謝謝,相當厲害的邏輯思維,感恩。

    2015-06-01 16:34:07 補充:

    大師

    可否幫忙一下,簡述一下您的超智慧邏輯,比如如何將照片大變小,如何去挑取這些資料,

    感恩。

    我學會以後就可以自己試試別的網頁,謝謝喔。

    2015-06-01 16:44:27 補充:

    不過?rf=似乎都是學歷的.前後規則跟暱稱的ID是不同的.這跟人數無關.那就不用改了.謝謝。

    抽空再來把細項核對一下

    就可以結案了

    2015-06-02 10:37:29 補充:

    大師

    謝謝囉,大師指點當下開悟喔,感恩。

    大師形容的很好喔,

    同一片藥膏,貼手或貼腳,要自行去剪裁的

    那我就用剪刀來裁囉,謝謝喔。

    2015-06-02 22:19:51 補充:

    大師

    謝謝喔,我花很多時間在欣賞您的巨作,相當不錯喔,有看似懂非懂,但是程序大致都懂,比上一題更深入一點, VBA 還真的相當偉大,寫的人更偉大,資料也大致都正確,那是FB的檔案管理問題。

    現在來測一下您的意見014,感恩喔。

    2015-06-02 22:47:31 補充:

    大師

    這次寫得更好喔,執行1=1472人,跟之前相同。

    執行2=1492人

    與好友總人數3000人接近多了,連帳號被停用都查得出來。而學歷問題==剛剛發現到,複製到EXCEL變第五列喔,第四列是空白。

    學歷的問題:

    複製CHROME貼上到EXCEL是五列,但是用IE複製變成四列。

    用IE太慢了,所以用CHROME,

    這是我的問題,

    您的檔案是用四列的,所以學歷出來了,

    假如大師有興趣的話,把學歷複製到第五列,第四列空白,再試試看。假如沒時間,就以這個為最佳解答好了,因為有學歷的不多,看大師有沒興趣了。

    感恩,再感恩大師喔。

    2015-06-02 23:34:12 補充:

    另外發現FB有分新版與舊版問題,我的還是舊版,但是我用好友的是新版,有一天我也會變成新版,所以看大師對新版有沒興趣,有的話就按上面所說來測試,謝謝喔,晚安。

    2015-06-03 07:35:53 補充:

    大師早

    請問一下照片縮小的後面好像有數字喔,這是您用VBA加上去的嗎,它是必要的資料囉,謝謝。

    2015-06-03 11:04:42 補充:

    大師

    謝謝,也就是說:有學歷的都在第五列,VBA無法抓到,因為不規則,可是只有三列的沒有好友的部分為何可以抓到呢~

    2015-06-03 11:40:36 補充:

    請問大師

    是不是四列找三列可以,四列找五列不行,謝謝喔。

    假如是如此這題就這樣定案了,這是FB的網頁特性,更何況學歷欄不多,就給它放棄了,還是有沒辦法把五列的重整成四列的,因為有學歷的第四列是空白。

    格式大致區分成三種:

    1。沒有好友的:

    空白==目前把圖片縮在這裡

    朋友朋友

    陳摸摸

    2。有好友的:標準的四列

    空白==目前把圖片縮在這裡

    朋友朋友

    張XX

    1,049 位朋友

    3。有學歷的:五列

    空白==目前把圖片縮在這裡

    朋友朋友

    羅XX

    空白

    永康國中

    2015-06-03 12:01:38 補充:

    不過我發現有一點資料可參考

    1。只要有學歷的URL,其URL的前面一定是這個,我發現還不少位喔。

    https://www.facebook.com/pages/

    但是居然是在空白列的那一列而不是在學歷的那一列上

    2。請大師看看能不能比對到URL前面是

    https://www.facebook.com/pages/

    就抓其下面的學歷資料

    以上是笨笨的想法

    2015-06-03 13:32:21 補充:

    大師

    測試報告如下:

    3000人抓出2859人明細,其中有學歷的60人,一目了然,PERFECT,太完美了。

    恭請大師上台發表囉。

    有智慧的感快來分享。

    感恩再感恩。

    謝謝

    VBA工程師。

    2015-06-03 13:32:56 補充:

    感快來分享。==趕快

    2015-06-03 13:37:49 補充:

    我說大師真的是金頭腦喔,

    我說了半天,大師一句話就搞定了,

    ==========

    第4行空白,抓第5行

    ==========

    果然是偉大的VBA工程師

    感恩~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    2015-06-05 14:53:02 補充:

    大師

    感謝喔,沒意見就要準備結案了,謝謝。

    • Commenter avatar登入以對解答發表意見
還有問題?馬上發問,尋求解答。