首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果不是"X“"Y”或"Z“,则删除案文

如果不是"X“"Y”或"Z“,则删除案文
EN

Stack Overflow用户
提问于 2017-05-17 20:43:14
回答 1查看 102关注 0票数 0

我希望删除一个不符合标准的文件中的所有文本。

案文如下:

https://www.mnsu.edu/supersite/academics/catalogs/undergraduate/2014-2015/2014-2015-undergraduate-bulletin.pdf

例如,它将删除到第14页为止的大部分内容,而在第15页中,它将留下“停尸前科学ACCT 200生物220”等等。

我一直在努力:

代码语言:javascript
复制
Sub DeleteRowWithSpecifiedText()
    Dim sText As String

    sText = InputBox("Enter text for Row to be deleted")
    Selection.Find.ClearFormatting
    With Selection.Find
        .Text = sText
        .Wrap = wdFindContinue
    End With
    Do While Selection.Find.Execute
        If Not Selection.Information(wdWithInTable) Then
            Selection.Rows.Delete
        End If
    Loop
End Sub

这个扔了

错误5941:“所请求的集合成员不存在”。

我在这篇文章的底部列出了我想要保存在文档中的所有东西的列表。

如果该行与类ID的泛型形式不匹配:"XX ###“或"XXX ###”或"XXXX ###“,我还想删除它。

"ACCT""AIS""ANTH""ART""AST""AET""AVIA""BIOL""BLAW""CAHN""CHEM""CHIN""CIVE""BUS""CDIS""CMST""CM""CS""CORR""CSP""DAK""DANC""DHYG""ECON""ED""EDLD""EEC""KSP""EE""EET""ENG""ESL""EAP""ENVR""ETHN""EXED""FILM""FCS""FINA""FYEX“"FREN""GWS""GEOG""GEOL""GER""GERO""HLTH""HIST""HONR""HP""HUM""IT""ENGR""IEP""IBUS""IPO""IDST""LAWE""MGMT""MET""MRKT""MASS""MACC""MBA""MATH""ME""MEDT""MSL""MDSM""MUSE""MUSC""MUSP""NPL""NURS""PYIL""PHYS""POL""PSYC""RPLS""REHB“"SCAN""SOST""SOWK""SOC""SPAN""SPED""STAT""THEA""URBS""WCDP""WLC""1""2“3”“4”“5”6“7”“8”“9”“0”

专业前课程%、预脊骨治疗%、牙科前治疗前、牙科前工程前、法律前、法律前、麻醉前科学、职业前治疗、前视学、骨疗法和手术前、药学前、物理治疗前、足疗前、外科、兽医前、医学、专科/普通教育/不同文化/写作、学术计划、会计、老年研究(正式老年学)、酒精和药物研究、联合健康和护理(课程介绍)、美国印第安人研究、人类学、应用组织研究、外科、兽医、医学、医学/普通教育/普通教育/综合教育/写作、学术项目、会计研究、老年研究(正式老年学)、酒精和药物研究、联合卫生和护理(课程介绍)、美国印第安人研究、人类学、应用组织研究、外科、兽医、医学、医学/普通教育/多种文化/写作、学术项目、会计研究、老年研究(正式医学)、酒精和药物研究(课程介绍)、联合卫生和护理(课程介绍)、美国印第安人研究、应用组织研究、外科治疗、医学/普通教育/多种文化/写作、学术项目、会计研究、老年研究(正式医学)、酒精和药物研究(课程介绍)、联合卫生和护理(课程介绍)、美国印第安人研究、应用组织研究、艺术,天文学,体育训练,汽车工程技术,航空,生物化学,生物技术,生物技术,商业管理,商业管理,商业法律,化学,中国(普通话),土木工程,认知科学,通讯障碍,计算机工程,计算机工程技术,计算机信息技术,建筑管理,企业和社区健身/健康,纠正,咨询和学生,学生,舞蹈,地球科学,经济学,教育领导,电子工程技术,英语,非母语英语(英语为第二语言)环境科学、民族研究、运动科学、家庭消费科学、电影研究、金融、经验、食品科学、技术、法国、性别和妇女研究、地理、地理、德国、卫生、科学、历史、荣誉、人类表现、信息系统、铁范围工程、综合工程、跨学科研究、国际关系、日本、拉丁美洲、执法、自由研究、管理、工程技术、营销媒体、数学、机械工程、医学、实验室、军事和领导、军事/陆军、ROTC、博物馆研究(见人类学)音乐,非营利领导,挪威,护理,哲学,哲学,政治、经济、物理学、政治学、心理学、娱乐、公园和休闲服务、康复咨询、俄罗斯、斯堪的纳维亚、科学教学、中学教育、社会研究、社会工作、社会学、西班牙特殊教育:学术和行为策略师、体育管理、瑞典统计、第二语言英语教学、戏剧艺术、城市工程和区域研究、城市和区域研究、世界语言和文化%

EN

回答 1

Stack Overflow用户

发布于 2017-05-18 10:34:03

如果所选内容位于表中,Selection.Information(wdWithInTable)将返回True。因此,只有当在表中找到的项是而不是时,才会执行。但是,如果它不在表中,Selection.Rows.Delete就必须失败,因为只有在表中才能找到行。

另一方面,Selection.Rows.Delete也必须失败,因为它的语法不正确,似乎是从Excel借用的。在Word中,您应该首先扩展选定的范围,以包括整个行,然后删除范围。

我意识到,你似乎有一个循环,它可能会阅读从名单中删除的项目。这要复杂得多,但在您的当前代码完成工作之后,才能启动它。因此,我建议首先关注这一目标。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44034462

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档