因此,我正在运行一个将会计日志存档到存档文件夹中的宏,存档后,宏会清除多张纸上的一列以清除会计日志。由于某种原因,当我第一次运行此宏时,一切工作正常,但是链接到服务器上的文件夹的每个超链接都损坏了。最后两个文件夹是正确的,但是当我单击“编辑超链接”时,所有先前的文件夹都变为“ ../../../../../”。因此它看起来像“ ../../../../../Clients/ClientA/”。存档文件具有相同的“ ../../”,但链接有效。
在单击链接时,系统提示我出现以下错误:“无法打开指定的文件。”但是,当我编辑文件并放置文件夹名称而不是“ ../”时,它可以正常工作。我不确定为什么会这样。但是无论单元格G1的每张图纸上是否有每个超链接。所以我写了一个宏来修复链接。
Sub hyperUpdate()
Dim wsHyper As Worksheet, addr As String, lastrow As Long, h As Hyperlink
lastrow = Worksheets("Auto Archive").Range("A" & Worksheets("Auto
Archive").Rows.Count).End(xlUp).Row
For i = 2 To lastrow
Set wsHyper = Worksheets(Worksheets("Auto Archive").Cells(i, 1).Value)
wsHyper.Activate
addr = Worksheets("Auto Archive").Cells(i, 3).Value
wsHyper.Cells(1, 7).Activate
Application.ActiveCell.Hyperlinks(1).Address = addr
MsgBox Application.ActiveCell.Hyperlinks(1).Address
Next i
End Sub
因此,消息框每次都说出正确的地址,但是当我单击编辑超链接时,我得到的是相同的“ ../../”,并且该链接仍然不起作用。有什么更好的方法来解决这个问题?谢谢
答案 0 :(得分:0)
为避免超链接-将文件的路径存储在单元格中(而不是超链接)
然后像在sheet.selection更改过程中一样
import { ActionTypes, AppointmentActions } from '../redux-actions/appointment.ts';
interface AppointmentState {
startTime: Date;
endTime: Date;
}
export const initialState: AppointmentState = {
startTime: null,
endTime: null
};
export function appointmentReducer(state = initialState, action: AppointmentActions): AppointmentState {
switch (action.type) {
case ActionTypes.SetStartTime:
return {
...state,
startTime: action.startTime
};
case ActionTypes.SetEndTime:
return {
...state,
endTime: action.endTime
};
default:
return state;
}
}
您还应该远离选定的单元格,以便通过单击它再次将其选中,并且您可能想防止有人通过按住箭头
来释放文件负载