在Excel中,我可以创建指向网页的超链接.但是,如果URL包含#字符,则Excel始终将散列符号转换为空格连字符空格,以便链接不再起作用.网址http://www.example.com/page#location变为http://www.example.com/page%20-%20location
我试过三种方法
手动,右键单击一个单元格,单击"超链接",然后在地址框中键入URL
以编程方式提供完整的URL:
Worksheets(1).Hyperlinks.Add Address:="http://www.example.com/page#location"
以编程方式,将位置作为"子地址":
Worksheets(1).Hyperlinks.Add Address:="http://www.example.com/page", SubAddress:="location"
这三个都给出了同样的问题.是否可以创建指向特定位置(id或命名锚点)的链接,而不仅仅是网页?我将不胜感激任何帮助.
注意:代码示例不完整; 为清楚起见,我省略了参数Anchor和TextToDisplay.
Excel版本:2010(14.0.6126.5003)SP1
我有时需要通过URL将其他参数传递给页面.我之前在路由文件中使用了几个通用占位符,我将其称为"genus"和"species".这曾经有用,但现在它已开始使用查询字符串生成URL.
Rails版本是2.3.8.
路线文件是:
ActionController::Routing::Routes.draw do |map|
map.root :controller => 'main', :action => 'index'
map.connect ':controller', :action => 'index'
map.connect ':controller/:action'
map.connect ':controller/:action/:id'
map.connect ':controller/:action/:genus/:id'
map.connect ':controller/:action/:genus/:species/:id'
end
Run Code Online (Sandbox Code Playgroud)
索引页面是:
<p>
<%= url_for :controller => 'main', :action => 'test', :genus => 42, :id => 1 %>
</p>
Run Code Online (Sandbox Code Playgroud)
测试页面是
<p>
<%= params.inspect -%>
</p>
Run Code Online (Sandbox Code Playgroud)
索引页面显示/ main/test?genus = 42&id = 1我希望/ main/test/42/1.
但是,如果我转到/ main/test/42/1,那么我会看到正确的参数:
{"controller"=>"main","action"=>"test","genus"=>"42","id"=>"1"}
我有什么想法我做错了吗?