mori868 發表於 14-5-15 20:29

EXCEL如何自動更改檔名

今有一EXCEL其檔名為AA DDE.XLS   希望一開啟 EXCEL其檔名就改為BB DDE.XLS   請幫忙賜教   謝謝

liuchinlang 發表於 14-5-15 21:59

開啟檔案,就無法變更原檔名!
另存新檔即可!
用autoit也許辦得到!不懂!

thirtycm 發表於 14-5-15 23:02

去程式"設計"版問看看吧!!

KHL 發表於 14-5-15 23:36

這個問題可有趣了
AA DDE.XLS改為BB DDE.XLS
BB DDE.XLS存檔後下次開啟改什麼
改CC DDE.XLS嗎
改到ZZ DDE.XLS時
接下來要改什麼?
問題不清不楚的
很難有人能幫的了你

rockwell 發表於 14-5-16 00:34

KHL 發表於 14-5-15 23:36 static/image/common/back.gif
這個問題可有趣了
AA DDE.XLS改為BB DDE.XLS
BB DDE.XLS存檔後下次開啟改什麼


KHL大說得很中肯~~~~

有時候說清楚為什麼想要這樣做,可能更容易讓大家幫MORI大找出解決方案。

不然我直覺就是自己直接改就好了,為啥要寫程式自動改?

Brandy 發表於 14-5-16 07:45

用EXCEL VBA寫個指令就好啦
ActiveWorkbook.SaveAs Filename:="C:\BB DDE.XLS"
路徑自己改

小弟才疏學淺,只會用錄製的方法寫vba,錄製好在適當的修改就好啦

mori868 發表於 14-5-16 07:48

AA DDE.XLS 是一家卷商的EXCEL DDE
BB DDE.XLS 是飛胡INI的檔名
由於有多家卷商EXCEL DDE 此時飛胡INI的檔名也要改與卷商同檔名這樣很麻煩啦
希望 飛胡INI的檔名不要改 只要一開啟卷商的EXCEL DDE就變為飛胡INI的檔名 關機就回復原檔名 即可

rockwell 發表於 14-5-16 08:41

本帖最後由 rockwell 於 14-5-16 08:43 編輯

mori868 發表於 14-5-16 07:48 static/image/common/back.gif
AA DDE.XLS 是一家卷商的EXCEL DDE
BB DDE.XLS 是飛胡INI的檔名
由於有多家卷商EXCEL DDE 此時飛胡INI的檔 ...
原來是用多家券商的DDE連結喔~~~

那應該可以將多家券商DDE的連結都放到同一個EXCEL中,
直接改成對應飛狐的檔名就行了吧!這樣不就能看到多家券商DDE的數據嘛!
看起來是不需要檔名改來改去才是。


補充一下:
DDE的連接應該是不管EXCEL檔名是啥,只要券商程式有開,
EXCEL開啟時,DDE就會自動連接了,應該是這樣。{:4_186:}



lbt 發表於 14-5-16 11:20

上google查其實很快的。 除非真的找不到 才來發問哦 ^^

KHL 發表於 14-5-16 17:59

很久沒寫VBA了
隨手做了個範例給你參考
(請依實際需求作修改)

'事件
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If ThisWorkbook.Name = "BB DDE.xls" Then Call 還原檔名VBA
End Sub
Private Sub Workbook_Open()
Call 修改檔名VBA
End Sub

'模組
Option Explicit

Sub 修改檔名VBA()
Dim newwk As Object
Dim newfname As String
Set newwk = ThisWorkbook
With newwk
newfname = .Path & "\" & .Name
If .Name = "AA DDE.xls" Then
   Application.DisplayAlerts = False
   Application.AskToUpdateLinks = False
   .SaveCopyAs .Path & "\BB DDE.xls"
   Workbooks.Open .Path & "\BB DDE.xls"
   Workbooks("BB DDE.xls").Activate
   .ChangeFileAccess xlReadOnly
   Kill .FullName
   Application.DisplayAlerts = True
   Application.AskToUpdateLinks = True
   .Close False
End If
End With
End Sub

Sub 還原檔名VBA()
Dim oldwk As Object
Dim oldfname As String
Set oldwk = ThisWorkbook
With oldwk
If .Name = "BB DDE.xls" Then
   oldfname = .Path & "\" & .Name
   Application.DisplayAlerts = False
   Application.AskToUpdateLinks = False
   .SaveCopyAs .Path & "\AA DDE.xls"
   On Error Resume Next
   .ChangeFileAccess xlReadOnly
   Kill .FullName
   On Error GoTo 0
   Application.DisplayAlerts = True
   Application.AskToUpdateLinks = True
   Application.Quit
End If
End With
End Sub


iamenix2013 發表於 14-5-17 11:08


Ori_Name: 原始檔名(含完整路徑)
New_Name:更新後檔名(含完整路徑)

不用開檔啊!用:Name Ori_Name as New_Name
不就好了嗎?

mori868 發表於 14-5-20 07:53

rockwell 發表於 14-5-16 08:41 static/image/common/back.gif
原來是用多家券商的DDE連結喔~~~

那應該可以將多家券商DDE的連結都放到同一個EXCEL中,


本來是三家券商DDE的連結都放到同一EXCEL中是可行可是若券商的看盤軟體未開啟時會顯示一大堆視窗要按確定後才能使用很煩啦所以改為一家券商一EXCEL 而EXCEL改用通用檔名 並連結到飛胡 這樣無論用那家的EXCEL飛胡的INI檔名就不用改了今已改用一家券商一EXCEL 再增一轉換飛胡的INI檔名的按鈕飛胡就不用改了
希望
開啟一家券商一EXCEL 而EXCEL並直接改為 "通用檔名"既方便又省事啦

rockwell 發表於 14-5-20 10:17

mori868 發表於 14-5-20 07:53 static/image/common/back.gif
本來是三家券商DDE的連結都放到同一EXCEL中是可行可是若券商的看盤軟體未開啟時會顯示一大堆視窗要按確 ...

那能複製3個飛狐的ini檔,分別應對不同的EXCEL檔,可以這樣嗎?{:4_210:}

mori868 發表於 14-5-20 20:36

rockwell 發表於 14-5-20 10:17 static/image/common/back.gif
那能複製3個飛狐的ini檔,分別應對不同的EXCEL檔,可以這樣嗎?

這也是另一種方法可是這樣要開啟兩套軟體 比較麻煩   希望若是DDE斷線時只要開啟另一券商DDE就又連線了 真方便吧

頁: [1]
查看完整版本: EXCEL如何自動更改檔名