小编Our*_*nas的帖子

如何在Excel单元格的表达式中格式化货币?

我试图弄清楚如何在Excel中的表达式格式化结果.我写

=IF(C30 > B30, "You would save $" & Format(C30-B30, "Currency") & "!", "No savings")
Run Code Online (Sandbox Code Playgroud)

在单元格内,但它不起作用.简单地说,我希望在表达式中格式化货币.

怎么样?

excel formatting expression worksheet-function

3
推荐指数
1
解决办法
2万
查看次数

更改项目名称和名称空间后未定义c#properties/settings

我正在更新几年前构建的旧应用程序,全局命名空间和project.cs文件以及主窗体都被命名为 email2case_winForm

我想改变它(除了以更多的OOP方式重建应用程序以使其更灵活,并且能够重用代码),因此将名称更改为 email2case

但是现在我在编译时遇到了问题,因为在阅读项目的设置和属性时,找不到这些成员.

这是我试图用来读取属性的代码示例.设置:

XElement x = XElement.Load(email2case.Properties.Settings.Default.e2cConfigFile);
Run Code Online (Sandbox Code Playgroud)

并且该编译器的错误是:

'email2case.email2case'不包含'属性'的定义

以下是一个类如何从全局设置中读取:

this.Url = global::email2case.Settings.Default.email2case_sforce_SforceService;
Run Code Online (Sandbox Code Playgroud)

并且该编译器的错误是:

名称空间"email2case"中不存在类型或命名空间名称"设置"(您是否缺少程序集引用?)

我有一种预感,问题是由定义引起的app.Config,这里是:

<configuration>
    <configSections>
        <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
            <section name="email2case.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
            <section name="email2case.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
        </sectionGroup>
        <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
            <section name="email2case.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
        </sectionGroup>
    </configSections>
    <applicationSettings>
      <email2case.Properties.Settings>
        <setting name="email2case_sforce_SforceService" serializeAs="String">
          <value>https://login.salesforce.com/servi...</value>
        </setting>
        <setting name="e2cConfigFile" serializeAs="String">
          <value>C:\email2case\data\e2cConfig.xml</value>
        </setting>
      </email2case.Properties.Settings> …
Run Code Online (Sandbox Code Playgroud)

.net c# projects-and-solutions winforms

3
推荐指数
1
解决办法
9049
查看次数

Excel:如果相关键在使用公式的值范围内,则对一系列单元格求和

如果关联值在用作过滤条件的值范围内,我试图返回一系列单元格的总和.例如,使用以下数据表:

  Keys      Values
   A        500
   B        300
   C        600
   D         20
   A        150
   C        600
Run Code Online (Sandbox Code Playgroud)

以及要汇总的以下键列表:

Sum Keys:
   A
   D
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种公式化的方式来回归500 + 20 + 150 = 670.

我知道你可以使用多个SUMIF,但是键的数量会根据用户想要过滤的内容而改变,并且编写足够的SUMIF来覆盖最大的现实情况(如10ish)似乎过多,我觉得必须有一个更方便.

在我看来,公式看起来像这样:

=SUMIFS(Values, Keys, OR(Sum Keys), ...(optional other conditions))
Run Code Online (Sandbox Code Playgroud)

我意识到这是一个简单的VBA问题,但我试图避免这种情况,因为电子表格将由具有不同(或没有)VBA知识的人员进行审核.此外,向数据添加指示符列以显示密钥是否在Sum Keys范围内是不现实的,因为将有多个标签汇总数据,每个标签都有自己的过滤器Key

任何帮助都表示赞赏,但我意识到如果没有VBA,这可能是不可能的.如果需要更多信息,请告诉我.

谢谢!

编辑:谢谢巴里houdini的答案!根据可接受标准的多个范围,查看他的帖子中关于求和的一般解决方案的评论.

excel excel-2007 worksheet-function excel-formula

2
推荐指数
1
解决办法
5315
查看次数

如何使用VBScript检查MS Word是否正在运行

我们有一个运行MS Word(隐藏)以打印文档的应用程序。

如果其中一台打印机有问题,则在等待后台处理程序返回“排队”消息时,Word将挂起。

我们发现如果使Word可见(例如,通过在Excel中使用VBA GetObjectoWordApp.visible=true),该过程将继续打印其他文档而不会出现问题。

我们希望通过对正在运行的进程中的Word进行VBScript检查来使其更加自动化,如果找到它,使其可见,等待几秒钟,将其隐藏,然后退出...

但是我有一个问题,如果VBScript GetObject函数尚未运行,它会实例化Word。

如何在不创建单词实例的情况下使用VBScript检查该单词是否正在运行?

这是我在VBScript文件中拥有的代码:

dim oWord, WScriptShell

set oWord = getobject("", "Word.Application")
set WScriptShell = CreateObject("WScript.Shell")

if isobject(oWord)  then 'and oWord.Documents.count>0
    wscript.echo("Word is running")
    oWord.visible=true
    WScript.Sleep 1000
    oWord.visible=false
else
    wscript.echo("Word not running")
end if
Run Code Online (Sandbox Code Playgroud)

所以我应该使用什么来检查word是否在运行而不创建它的实例?

vbscript process

2
推荐指数
1
解决办法
2994
查看次数

递归搜索子文件夹并删除子文件夹中超过6个月的所有文件

我们有这样的目录结构

..\文档名称_存档\YYYY\月份名称

例如,我们有许多子文件夹(在不同的文档名称文件夹中),名为 \2014\January ... 等

我们想要删除创建日期超过 180 天的所有文件夹及其内容。

我们更愿意只使用批处理文件脚本,但如果我们需要递归搜索,也许 VBScript 更好。

请问最好的办法是什么?

vbscript command-line batch-file dir delete-file

2
推荐指数
1
解决办法
5774
查看次数

Java Recursive Method它是如何工作的?

我对Java编程比较陌生,我刚刚开始学习递归,但我似乎无法弄清楚这种方法是如何工作的.

   private static int mystery(int w) {
    {
        if (w < 0) return 0;
        int x = mystery (w-2);
        return w - x;
    }
}
Run Code Online (Sandbox Code Playgroud)

每当输入100这样的变量时,输出50.当输入200时,输出100.当输入2时,输出2.当输入25时,输出13.我不确定这种方法是如何工作的,我正试图绕过它.

我目前查看它的方式,如果你输入100,它将绕过第一个return语句,因为它大于0.当它到达第二行时,它会做100-2,这会带来98,然后转到第三行并执行100 - 98 = 2.然后返回到原始呼叫.

我知道我搞砸了神秘(w-2)方法的第二行.我假设它会再次将w-2的结果带回到方法的开头,并且它将继续一遍又一遍地执行该方法,直到w小于0,无论答案如何都应该再次输出0.但事实并非如此,我不知道为什么.

谁能解释一下这里发生了什么?

java recursion

2
推荐指数
1
解决办法
798
查看次数

为 TrimEnd 和 TrimStart 创建 char 数组

我必须从我们的 Web 服务客户端项目中的字符串中删除前导和尾随数字字符,因为出于某种原因,挪威另一端的 Web 服务不会接受Nicosia 1121作为字符串......

所以我决定构建一个可重用的小函数来做到这一点:

public static string CleanNosFromStr(string text, char charsToRemove)
{ 
    var CleanedStr = text.TrimEnd(charsToRemove).TrimStart(charsToRemove);
        return CleanedStr.ToString();
    } 
Run Code Online (Sandbox Code Playgroud)

我想这样称呼它:

char chars2Remove= new string("0,1,2,3,4, 5,6,7,8,9,0, ").Split(",");

wsSoapBody.CardCity = 
myextensions.CleanNosFromStr(aMessage[(int)cardCreate.CardCity].ToString(),chars2Remove);    
Run Code Online (Sandbox Code Playgroud)

但它不会编译...

我得到的编译错误是:

'string.String(char*)' 的最佳重载方法匹配有一些无效参数

参数 1:无法从 'string' 转换为 'char*'

我哪里出错了,还有更好的方法吗?

当然我可以只使用

wsSoapBody.CardCity = aMessage[(int)cardCreate.CardCity].ToString().TrimEnd
('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', ' ').
TrimStart('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', ' ');
Run Code Online (Sandbox Code Playgroud)

但我更喜欢有一些可重复使用的东西。

谢谢

c# trim

2
推荐指数
1
解决办法
1593
查看次数

使用反射获取属性值时参数计数不匹配

我收到了我不理解的参数计数不匹配错误。

我有以下代码:

Type target = Type.GetType("CPS_Service." + DocumentType);

// Create an instance of my target class
instance = Activator.CreateInstance(target);

foreach (XElement pQ in PQData.Elements())
{
    try
    {
    // populate the member in the instance of the data class with the value from the MQ String
        if (target.GetProperty(pQ.Attribute("name").Value) != null)
        {
            target.GetProperty(pQ.Attribute("name").Value).SetValue(instance, pqRequest[Convert.ToInt32(pQ.Attribute("pos").Value)], null);
        }
    }
}

PropertyInfo[] properties = target.GetProperties();

foreach (PropertyInfo property in properties)
{
    DataColumn col = new DataColumn(property.Name);
    col.DataType = System.Type.GetType("System.String");
    col.DefaultValue = "";
    dt.Columns.Add(col); …
Run Code Online (Sandbox Code Playgroud)

c# reflection

2
推荐指数
1
解决办法
2120
查看次数

如何用可变数量的前导零填充字符串?

我们的 MS Flow - 更新项目任务中有这个公式...

concat(items('Apply_to_each')['T_x002d_Code']
,'-'
,items('Apply_to_each')['BoxNo']
,'-'
,
items('Apply_to_each')['ID'])
Run Code Online (Sandbox Code Playgroud)

但我们需要在 BoxNo 和 ID 中添加前导零,因此最终结果如下:

A02-00001-000235

我们也尝试过:

substring(concat('000000', variables('ItemID'))
, sub(5, length(variables('BoxNo')))
, add(6, length(variables('ItemID'))))
Run Code Online (Sandbox Code Playgroud)

但没有运气。

BoxNo值可以从 199,999,因此我们需要填充最多4 个前导零

ItemID可以从 1 到 999,999 因此我们需要填充最多5 个前导零

我们如何才能像这样格式化这些字段呢?

substring concatenation power-automate

2
推荐指数
1
解决办法
7313
查看次数

关于如何克服 Excel 中 32,767 文本限制的新想法

因此,正如过去许多其他人所问的那样,有没有办法超越 Excel 中每个单元格 32k 的限制?

我找到了通过将工作负载拆分为两个不同的 .txt 文件然后合并两个 .txt 文件的方法来做到这一点,但是它是一个巨大的 PITA,而且更多时候我最终只使用 excel 到它的极限,就像我做的那样在 .txt 文件合并后没有时间验证数据,这是一个漫长的过程和乏味的 IMO。

但是我认为,如果存在限制,那是因为它是在 Microsoft 开发 Excel 时编码的,并且由于他们尚未提高它(2013 版本的限制仍然是相同的限制,因此升级没有好处)

我也知道很多人会说,如果您需要在该长度的单个单元格中获取信息,那么您应该很好地使用 ACCESS 我不知道如何使用 ACCESS 或如何像导入 EXCEL 一样将制表符分隔的文件导入到 ACCESS 中,然后即使我能弄清楚,我现在仍然必须弄清楚如何学习所有新命令和他的 EXCEL 等价物,如果有的话。

所以前几天我浏览了一些关于如何克服软件限制的博客文章,我阅读了一些关于逆向工程的内容。

是否可以将 excel 加载到十六进制编辑器中,然后将 32767 的每个实例更改为更大的内容?

excel reverse-engineering

1
推荐指数
1
解决办法
7976
查看次数