返回列表 上一主題 發帖

有關插入圖片的問題

回復 20# skyutm
語法執行之後,還是會有語法錯誤
是哪一行程式碼錯誤,錯誤值是多少,或是附檔看看.

TOP

最後還是要說明一下!小弟的成績系統到目前為止可以說是全部完成。小弟的參考書目是:1.EXCEL超圖解VBA基礎講座2.EXCELVBA功能索引式參考手冊
另外要感謝的是兩位版大,一位是GBKEE一位是Hseih,還有論壇上各位熱心的先進,很多語法的知識,是在書上沒有辦法找到,如果沒有大家的協助,小弟可能要再花上更多的時間也無法完成,在這個你我不相識的網路世界,真是難能可貴之事,在此要再次表達感謝之意。謝謝大家的幫忙!(不是得獎感言啦)

TOP

回復 21# GBKEE
版大你誤解了,因為那個工作表「成績儲存」,裡面的語法會需要其他工作表的資料,所以另存新檔後(重新建立一個只有工作表的檔案),語法就會出現超出索引值範圍(因為其他工作表不見了),所以並不是語法上的錯誤。

TOP

回復 23# skyutm
20# 的程式碼有修改空間
  1. Option Explicit
  2. Sub Ex() '練習試試看   活頁簿,工作表: 須皆沒上鎖的狀態
  3.     Workbooks(1).Sheets(1).Copy            ' Sheets(1) 請先製作VBA巨集
  4.     'Workbooks("TEST").Sheets("TEST").Copy   ' Sheets(1) 請先製作VBA巨集
  5.     With ActiveWorkbook
  6.         Application.DisplayAlerts = False
  7.         .SaveAs "d:\無巨集.xlsx", FileFormat:=51 ' xlExcel8
  8.          '**  副檔名:xlsx  為無VBA巨集 的活頁簿
  9.         Application.DisplayAlerts = False
  10.     End With
  11. End Sub
複製代碼

TOP

回復 24# GBKEE [
回版大,這個語法執行之後,另存的那個檔案裡面還是會有原來的語法存在。

TOP

回復 25# skyutm
請問你執行程式後有將此檔案關閉,然後在打開看看,此檔案依然是有巨集存在嗎?
再試試看
  1. Sub Ex() '練習試試看   活頁簿,工作表: 須皆沒上鎖的狀態
  2.     Workbooks(1).Sheets(1).Copy            ' Sheets(1) 請先製作VBA巨集
  3.     'Workbooks("TEST").Sheets("TEST").Copy   ' Sheets(1) 請先製作VBA巨集
  4.     With ActiveWorkbook
  5.         Application.DisplayAlerts = False
  6.         .SaveAs "d:\無巨集.xlsx", FileFormat:=51 ' xlExcel8
  7.          '**  副檔名:xlsx  為無VBA巨集 的活頁簿
  8.         Application.DisplayAlerts = False
  9.         .Close
  10.     End With
  11.     Workbooks.Open ("d:\無巨集.xlsx")
  12. End Sub
複製代碼

TOP

回復 26# GBKEE
版大實在是太熱心了,鍥而不捨終於測試成功了,最後這個可以,檔案內已無巨集!

TOP

回復 27# skyutm
版大您這麼一認真起來,我倒是有些被搞迷糊了。我比較了前後兩個語法只差在
Option Explicit
.Close
Workbooks.Open ("d:\無巨集.xlsx")
這三行而已,而我不懂,為何這樣語法的差異會造成不同的結果?

TOP

回復 28# skyutm
執行2 4# 的程式碼後 須將檔案關閉,然後再打開才會無巨集
  1. Workbooks(1).Sheets(1).Copy        '->複製Sheets(1) 的工作表會在新增的活頁簿      
  2. With ActiveWorkbook                     '>新增的活頁簿
  3.         Application.DisplayAlerts = False
  4.         .SaveAs "d:\無巨集.xlsx", FileFormat:=51 ' xlExcel8
  5.       '**  副檔名:xlsx  為無VBA巨集 的活頁簿
  6.       '***'存檔後 還是有巨集
  7.         Application.DisplayAlerts = False
  8.      .Close            '26#新加的程式碼  *** 關閉檔案
  9.     End With
  10.     Workbooks.Open ("d:\無巨集.xlsx")   '26#新加的程式碼  *** 開啟檔案
複製代碼

TOP

回復 29# GBKEE
回復版大,問題還是存在耶,因為剛剛實驗時是在新的檔案裡加幾行語法,結果檔案關閉後再重開語法就不見了。等到我運用在自己的成績系統之後,問題就出現了。因為被複製的工作表語法是寫在Worksheet_Activate裡,所以只要複製檔案時,還未關閉,語法錯誤行就會出現(還來不及關閉)。
後來我又想出一個辦法,就是在被複製的工作表語法裡面,加一行On Error Resume Next,這樣就可以解決了。(不知這樣有無風險嗎?)

TOP

        靜思自在 : 難行能行,難捨能捨,難為能為,才能昇華自我的人格。
返回列表 上一主題