vb.net编程,如何使用 appdomain 实现某进程DLL动态加载和卸载?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vb.net编程,如何使用 appdomain 实现某进程DLL动态加载和卸载?相关的知识,希望对你有一定的参考价值。

请问使用VB.NET编程,如何使用appdomain实现某进程DLL动态加载和卸载? 在网上查了很多资料都是基于C#的,而且大多都还有错误,请各位大哥给我提供详细的代码和说明,小弟不胜感激。也可以将源码发到我的邮箱:hongjian710@163.com。 注意:一定要使用VB.NET哦。如果答案正确,我一定重谢,谢谢了!

参考技术A 由于你要求的是能够动态的加载与卸载,所以这里选用了appdomain的load方法来加载一个程序集(同样的,卸载的时候调用appdomain的静态方法Unload即可).
另外由于,在appdomain.load的时候remoting会试图将程序集序列化到defaultdomain中去,这会产生问题,通常以一个"FileNotFoundException"结束,因此采用了一种折中的办法.
思路如下:
1.建立一个新的程序集,里面包含一个轻量的类型,这个类型只包含一个用来加载程序集的公共方法;
2.在你的主程序里面,用appdomain.load来加载上一步的程序集,接着实例化上一步的轻量的类型;
3.而后就可以像操作通常的对象一样,调用它上面的方法来加载你想要的程序集了;
源代码已经打包发给你了,
你看看吧~
如果有问题,再找我哈

如何使用 vb.net 以编程方式对 Excel 中的列进行排序?

【中文标题】如何使用 vb.net 以编程方式对 Excel 中的列进行排序?【英文标题】:How to sort columns in Excel programmatically using vb.net? 【发布时间】:2010-10-08 07:50:33 【问题描述】:

我们正在生成一个 Excel 报告,我们需要在保存文件之前以编程方式对数据进行排序。

是否可以使用 vb.net 以编程方式对 Excel 文件的特定列进行排序?

根据您的建议,为了生成对特定列进行排序的 excel 报告,我刚刚实现了如下逻辑..

Dim MyRange As Excel.Range
  gobjExcelReportSheet.Activate()
      MyRange = gobjExcelReportSheet.Range("A8", "L8")
      MyRange.Select()
      MyRange.Sort(Key1:=MyRange.Range("L8"), _
                   Order1:=XlSortOrder.xlAscending, _
                   Header:=XlYesNoGuess.xlGuess, _
                   MatchCase:=False, _
                   Orientation:=XlSortOrientation.xlSortColumns)

我在保存文件之前尝试了这个逻辑,甚至在保存文件之后,但它没有给出任何结果,即排序结果,甚至我没有收到任何错误。

但是下面的代码可以工作......

gobjExcelReportSheet.Application.Selection.Autofilter()

但是没有以编程方式排序的选项。

请帮帮我...

谢谢!

【问题讨论】:

报告是使用 Office 互操作程序集生成的吗?如果你给出你正在做什么的代码示例,你就更有可能得到有价值的回应。 【参考方案1】:

假设您使用的是互操作程序集,我就是这样做的:

Dim myWorkSheet As Excel.Worksheet = myWorkbook.Worksheets(aSheetName)
myWorkSheet.Activate()
Dim myRange As Excel.Range

myRange = myWorkSheet.Range("A1", "L10")
myRange.Select()


myRange.Sort(Key1:=myRange.Range("D1"), _
                        Order1:=Excel.XlSortOrder.xlAscending, _
                        Orientation:=Excel.XlSortOrientation.xlSortColumns)

基本上你需要选择一个范围(在本例中为A1:L10,然后选择按某一列(D)对其进行排序。

【讨论】:

我已经实现了这个,但是我得到了预期的结果,甚至没有得到任何错误。我需要做任何其他设置吗?请建议。谢谢。 我认为你的意思是你没有得到预期的结果?如果是这样,那么我们需要更多的信息。请编辑您的问题,显示您到目前为止所做的工作。 大家好,现在它使用以下代码.... MyRange.Range("A8").Sort(Key1:=MyRange.Range("L8"), Order1:=XlSortOrder.xlAscending , Header:=XlYesNoGuess.xlGuess, MatchCase:=False, Orientation:=XlSortOrientation.xlSortColumns) 以及上面提到的其他行。谢谢。 好。那么,赞成和/或接受的答案(提示,单击勾号)会很好吗? ;) 谢谢。这与代表无关,它可以帮助每个人知道它是否是正确的答案。

以上是关于vb.net编程,如何使用 appdomain 实现某进程DLL动态加载和卸载?的主要内容,如果未能解决你的问题,请参考以下文章

如何以编程方式删除 Excel 工作表 VB.NET

从 VB.net 以编程方式命名 Excel 工作簿

如何选择使用 VB.NET 打开的 Excel 版本?

如何应用VB.NET MonthCalendar控件

Vb.net 如何以编程方式选择选项卡控件中的最后一个选项卡

编程vb.net clipboard 剪切复制粘贴