ਮਾਈਕਰੋਸਾਫਟ ਵਰਡ ਲਈ VBA ਵਿੱਚ ਪੈਰਾਗ੍ਰਾਫ ਪ੍ਰਬੰਧਨ ਵਿੱਚ ਮੁਹਾਰਤ ਹਾਸਲ ਕਰਨਾ
VBA ਸਕ੍ਰਿਪਟਿੰਗ ਦੁਆਰਾ Microsoft Word ਵਿੱਚ ਟੇਬਲਾਂ ਨਾਲ ਕੰਮ ਕਰਨਾ ਇੱਕ ਗੁੰਝਲਦਾਰ ਬੁਝਾਰਤ ਨੂੰ ਹੱਲ ਕਰਨ ਵਰਗਾ ਮਹਿਸੂਸ ਕਰ ਸਕਦਾ ਹੈ। 📄 ਹਰੇਕ ਫੰਕਸ਼ਨ ਜੋ ਤੁਸੀਂ ਲਿਖਦੇ ਹੋ ਤੁਹਾਨੂੰ ਹੱਲ ਦੇ ਨੇੜੇ ਲਿਆਉਂਦਾ ਹੈ, ਪਰ ਕਈ ਵਾਰ, ਛੋਟੀਆਂ ਰੁਕਾਵਟਾਂ — ਜਿਵੇਂ ਕਿ ਇੱਕ ਜ਼ਿੱਦੀ ਪੈਰੇ ਨੂੰ ਹਟਾਉਣਾ — ਇਸਦੇ ਟਰੈਕਾਂ ਵਿੱਚ ਤਰੱਕੀ ਨੂੰ ਰੋਕ ਸਕਦਾ ਹੈ।
ਇੱਕ ਅਜਿਹੀ ਚੁਣੌਤੀ ਪੈਦਾ ਹੁੰਦੀ ਹੈ ਜਦੋਂ ਤੁਸੀਂ ਇੱਕ ਸਾਰਣੀ ਕਤਾਰ ਵਿੱਚ ਬਹੁ-ਪੱਧਰੀ ਸੂਚੀ ਆਈਟਮਾਂ ਨੂੰ ਬਦਲਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦੇ ਹੋ। ਤੁਸੀਂ ਆਈਟਮਾਂ ਨੂੰ ਮੁੜ ਕ੍ਰਮਬੱਧ ਕਰਨ ਵਿੱਚ ਸਫਲ ਹੋ ਸਕਦੇ ਹੋ ਪਰ ਕਤਾਰ ਦੇ ਅੰਤ ਵਿੱਚ ਇੱਕ ਅਣਚਾਹੇ, ਵਾਧੂ ਪੈਰਾਗ੍ਰਾਫ ਲੱਭ ਸਕਦੇ ਹੋ। ਇਹ ਮੁੱਦਾ ਤੁਹਾਡੇ ਟੇਬਲ ਦੇ ਸਾਫ਼-ਸੁਥਰੇ ਢਾਂਚੇ ਨੂੰ ਵਿਗਾੜ ਸਕਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਤੁਸੀਂ ਜਵਾਬਾਂ ਦੀ ਖੋਜ ਕਰਦੇ ਹੋ।
Office 365 ਲਈ ਇੱਕ ਸਕ੍ਰਿਪਟ 'ਤੇ ਕੰਮ ਕਰਦੇ ਸਮੇਂ ਮੈਨੂੰ ਇਸ ਸਹੀ ਸਥਿਤੀ ਦਾ ਸਾਹਮਣਾ ਕਰਨਾ ਪਿਆ। ਸਕ੍ਰਿਪਟ ਨੇ ਉਦੋਂ ਤੱਕ ਕੰਮ ਕੀਤਾ ਜਦੋਂ ਤੱਕ ਆਖਰੀ ਲਾਈਨ ਨੇ ਸਹਿਯੋਗ ਕਰਨ ਤੋਂ ਇਨਕਾਰ ਨਹੀਂ ਕੀਤਾ, ਭਾਵੇਂ ਮੈਂ ਇਸਨੂੰ ਹਟਾਉਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। ਪੈਰਾਗ੍ਰਾਫ ਟੈਕਸਟ ਨੂੰ ਸਾਫ਼ ਕਰਨ ਤੋਂ ਲੈ ਕੇ ਮਿਟਾਉਣ ਦੇ ਤਰੀਕੇ ਲਾਗੂ ਕਰਨ ਤੱਕ, ਸਮੱਸਿਆ ਬਣੀ ਰਹੀ। ਇਸ ਨੂੰ ਠੀਕ ਕਰਨ ਲਈ ਮੇਰੀਆਂ ਪਹਿਲੀਆਂ ਕੋਸ਼ਿਸ਼ਾਂ ਇੱਕ ਜ਼ਿੱਦੀ ਕੌਫੀ ਦੇ ਦਾਗ ਨੂੰ ਹਟਾਉਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਨ ਵਾਂਗ ਮਹਿਸੂਸ ਹੋਈਆਂ- ਵਿਅਰਥ। ☕
ਇਸ ਗਾਈਡ ਵਿੱਚ, ਮੈਂ ਤੁਹਾਨੂੰ ਦਿਖਾਵਾਂਗਾ ਕਿ VBA ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਇੱਕ ਮਾਈਕ੍ਰੋਸਾਫਟ ਵਰਡ ਟੇਬਲ ਕਤਾਰ ਵਿੱਚ ਆਖਰੀ ਪੈਰੇ ਨੂੰ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਢੰਗ ਨਾਲ ਕਿਵੇਂ ਮਿਟਾਉਣਾ ਹੈ। ਸਹੀ ਪਹੁੰਚ ਨਾਲ, ਇਹ ਆਮ ਸਮੱਸਿਆ ਹੱਲ ਹੋ ਜਾਵੇਗੀ, ਤੁਹਾਡੀ ਸਕ੍ਰਿਪਟ ਨੂੰ ਕਾਰਜਸ਼ੀਲ ਛੱਡ ਕੇ ਅਤੇ ਤੁਹਾਡੀ ਸਾਰਣੀ ਨੂੰ ਪੂਰੀ ਤਰ੍ਹਾਂ ਫਾਰਮੈਟ ਕੀਤਾ ਜਾਵੇਗਾ। ਆਓ ਅੰਦਰ ਡੁਬਕੀ ਕਰੀਏ!
| ਹੁਕਮ | ਵਰਤੋਂ ਦੀ ਉਦਾਹਰਨ |
|---|---|
| Range.ListFormat.ListLevelNumber | ਇਹ ਇੱਕ ਪੈਰੇ ਦੇ ਸੂਚੀ ਪੱਧਰ ਨੂੰ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ, ਸਕ੍ਰਿਪਟ ਨੂੰ ਇੱਕ ਬਹੁ-ਪੱਧਰੀ ਸੂਚੀ ਦੇ ਹਿੱਸੇ ਵਜੋਂ ਫਾਰਮੈਟ ਕੀਤੇ ਪੈਰਿਆਂ ਦੀ ਪਛਾਣ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ। |
| curRow.Range.Paragraphs | ਇੱਕ ਸਾਰਣੀ ਵਿੱਚ ਇੱਕ ਖਾਸ ਕਤਾਰ ਦੇ ਅੰਦਰ ਸਾਰੇ ਪੈਰਿਆਂ ਤੱਕ ਪਹੁੰਚ ਕਰਦਾ ਹੈ। ਕਤਾਰ ਦੁਆਰਾ ਸਮੱਗਰੀ ਕਤਾਰ ਉੱਤੇ ਦੁਹਰਾਉਣ ਲਈ ਉਪਯੋਗੀ। |
| ReDim | ਇੱਕ ਐਰੇ ਨੂੰ ਗਤੀਸ਼ੀਲ ਰੂਪ ਵਿੱਚ ਮੁੜ ਆਕਾਰ ਦੇਣ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਇਸ ਸਕ੍ਰਿਪਟ ਵਿੱਚ, ਇਹ ਐਰੇ ਨੂੰ ਇਕੱਠੀ ਕੀਤੀ ਸੂਚੀ ਆਈਟਮਾਂ ਦੀ ਸੰਖਿਆ ਨਾਲ ਮੇਲ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। |
| Randomize | ਬੇਤਰਤੀਬ ਸੰਖਿਆਵਾਂ ਦੇ ਵੱਖ-ਵੱਖ ਕ੍ਰਮ ਪੈਦਾ ਕਰਨ ਲਈ ਬੇਤਰਤੀਬ ਸੰਖਿਆ ਜਨਰੇਟਰ ਨੂੰ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ, ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਹਰ ਵਾਰ ਸ਼ੱਫਲਡ ਆਉਟਪੁੱਟ ਵੱਖ-ਵੱਖ ਹੋਣ। |
| Int((upper - lower + 1) * Rnd + lower) | ਦਿੱਤੀ ਗਈ ਰੇਂਜ ਵਿੱਚ ਬੇਤਰਤੀਬ ਪੂਰਨ ਅੰਕ ਬਣਾਉਣ ਲਈ ਇੱਕ ਫਾਰਮੂਲਾ। ਇਹ ਸੂਚੀ ਆਈਟਮਾਂ ਨੂੰ ਬੇਤਰਤੀਬੇ ਰੂਪ ਵਿੱਚ ਬਦਲਣ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। |
| curRow.Range.InsertAfter | ਇੱਕ ਸਾਰਣੀ ਕਤਾਰ ਵਿੱਚ ਮੌਜੂਦਾ ਰੇਂਜ ਦੇ ਬਾਅਦ ਸਿੱਧੇ ਟੈਕਸਟ ਜਾਂ ਸਮੱਗਰੀ ਨੂੰ ਸੰਮਿਲਿਤ ਕਰਦਾ ਹੈ, ਸ਼ੱਫਲਡ ਸੂਚੀ ਆਈਟਮਾਂ ਦੇ ਮੁੜ-ਜੋੜਨ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਂਦਾ ਹੈ। |
| para.Range.Delete | ਖਾਸ ਰੇਂਜ ਆਬਜੈਕਟ ਨੂੰ ਮਿਟਾਉਂਦਾ ਹੈ, ਜੋ ਕਿ ਇਸ ਸਕ੍ਰਿਪਟ ਵਿੱਚ ਕਤਾਰ ਤੋਂ ਆਖਰੀ ਪੈਰੇ ਨੂੰ ਹਟਾਉਣਾ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ। |
| MsgBox | ਫੀਡਬੈਕ ਪ੍ਰਦਾਨ ਕਰਨ ਜਾਂ ਉਪਭੋਗਤਾ ਨੂੰ ਪੁੱਛਣ ਲਈ ਇੱਕ ਸੁਨੇਹਾ ਬਾਕਸ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰਦਾ ਹੈ। ਇੱਥੇ, ਇਹ ਉਪਭੋਗਤਾ ਨੂੰ ਕਰਸਰ ਨੂੰ ਸਹੀ ਸਥਿਤੀ ਵਿੱਚ ਰੱਖਣ ਲਈ ਚੇਤਾਵਨੀ ਦਿੰਦਾ ਹੈ। |
| Selection.Tables.Count | ਮੌਜੂਦਾ ਚੋਣ ਵਿੱਚ ਟੇਬਲਾਂ ਦੀ ਗਿਣਤੀ ਗਿਣਦਾ ਹੈ। ਇਹ ਪੁਸ਼ਟੀ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ ਕਿ ਕੀ ਉਪਭੋਗਤਾ ਦਾ ਕਰਸਰ ਟੇਬਲ ਦੇ ਅੰਦਰ ਹੈ। |
| Set tbl = Selection.Tables(1) | ਮੌਜੂਦਾ ਚੋਣ ਵਿੱਚ ਪਹਿਲੀ ਸਾਰਣੀ ਨੂੰ ਵੇਰੀਏਬਲ tbl ਨੂੰ ਸੌਂਪਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਉਸ ਸਾਰਣੀ ਵਿੱਚ ਹੋਰ ਹੇਰਾਫੇਰੀ ਹੋ ਸਕਦੀ ਹੈ। |
ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਅਨਪੈਕ ਕਰਨਾ: ਵਰਡ ਟੇਬਲ ਕਤਾਰਾਂ ਦੇ ਪ੍ਰਬੰਧਨ ਲਈ VBA
ਮਾਈਕਰੋਸਾਫਟ ਵਰਡ ਵਿੱਚ ਟੇਬਲਾਂ ਦੇ ਪ੍ਰਬੰਧਨ ਵਿੱਚ ਇੱਕ ਆਮ ਸਮੱਸਿਆ ਨਾਲ ਨਜਿੱਠਣ ਲਈ ਪ੍ਰਦਾਨ ਕੀਤੀਆਂ VBA ਸਕ੍ਰਿਪਟਾਂ: ਜ਼ਿੱਦੀ ਨੂੰ ਕਿਵੇਂ ਦੂਰ ਕਰਨਾ ਹੈ ਆਖਰੀ ਪੈਰਾ ਲੈਵਲ 2 ਮਲਟੀ-ਲਿਸਟ ਆਈਟਮਾਂ ਨੂੰ ਬਦਲਣ ਦੌਰਾਨ ਇੱਕ ਕਤਾਰ ਵਿੱਚ। ਮੁੱਖ ਤਰਕ ਇੱਕ ਸਾਰਣੀ ਕਤਾਰ ਦੇ ਅੰਦਰ ਪੈਰਾਗ੍ਰਾਫਾਂ ਦੁਆਰਾ ਦੁਹਰਾਉਣ, ਸਹੀ ਸੂਚੀ ਪੱਧਰ 'ਤੇ ਲੋਕਾਂ ਦੀ ਪਛਾਣ ਕਰਨ, ਅਤੇ ਮਿਟਾਉਣ, ਪੁਨਰਗਠਨ, ਅਤੇ ਪੁਨਰ-ਸਥਾਪਿਤ ਕਰਨ ਵਰਗੇ ਕਾਰਜਾਂ ਦੇ ਦੁਆਲੇ ਘੁੰਮਦਾ ਹੈ। ਸਕ੍ਰਿਪਟ ਇਹ ਯਕੀਨੀ ਬਣਾ ਕੇ ਸ਼ੁਰੂ ਹੁੰਦੀ ਹੈ ਕਿ ਉਪਭੋਗਤਾ ਦਾ ਕਰਸਰ ਇੱਕ ਸਾਰਣੀ ਦੇ ਅੰਦਰ ਹੈ ਅਤੇ ਹੇਰਾਫੇਰੀ ਲਈ ਨਿਸ਼ਾਨਾ ਸਾਰਣੀ ਅਤੇ ਕਤਾਰ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ। ਇਹ ਕਦਮ ਉਸ ਸੰਦਰਭ ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਕਰਕੇ ਗਲਤੀਆਂ ਤੋਂ ਬਚਦਾ ਹੈ ਜਿਸ ਵਿੱਚ ਸਕ੍ਰਿਪਟ ਕੰਮ ਕਰਦੀ ਹੈ। 📄
ਸਕ੍ਰਿਪਟ ਫਿਰ ਇੱਕ ਲੂਪ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਲੈਵਲ 2 ਸੂਚੀ ਆਈਟਮਾਂ ਦੀ ਗਿਣਤੀ ਕਰਦੀ ਹੈ ਅਤੇ ਇਕੱਠੀ ਕਰਦੀ ਹੈ ਜੋ ਕਤਾਰ ਦੇ ਪੈਰਿਆਂ ਨੂੰ ਸਕੈਨ ਕਰਦੀ ਹੈ। ਹਰੇਕ ਯੋਗ ਪੈਰਾਗ੍ਰਾਫ ਦਾ ਟੈਕਸਟ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇੱਕ ਗਤੀਸ਼ੀਲ ਰੂਪ ਵਿੱਚ ਮੁੜ ਆਕਾਰ ਦਿੱਤੇ ਐਰੇ ਵਿੱਚ ਸਟੋਰ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਰੀਡਿਮ ਕਮਾਂਡ, ਲਚਕਦਾਰ ਡੇਟਾ ਸਟੋਰੇਜ ਲਈ ਇੱਕ ਸ਼ਕਤੀਸ਼ਾਲੀ ਸੰਦ ਹੈ। ਇਹ ਮਾਡਯੂਲਰ ਪਹੁੰਚ ਨਾ ਸਿਰਫ਼ ਅੱਗੇ ਦੀ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਸਰਲ ਬਣਾਉਂਦਾ ਹੈ ਬਲਕਿ ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਓਪਰੇਸ਼ਨ ਸੰਬੰਧਿਤ ਸਮੱਗਰੀ ਤੱਕ ਸੀਮਤ ਹਨ। ਉਦਾਹਰਨ ਲਈ, ਜੇਕਰ ਇੱਕ ਸਾਰਣੀ ਕਤਾਰ ਵਿੱਚ ਸੂਚੀ ਆਈਟਮਾਂ ਦੇ ਨਾਲ ਨੋਟਸ ਹਨ, ਤਾਂ ਸਕ੍ਰਿਪਟ ਗੈਰ-ਸੰਬੰਧਿਤ ਡੇਟਾ ਨੂੰ ਨਜ਼ਰਅੰਦਾਜ਼ ਕਰੇਗੀ। ਇਹ ਵਿਸ਼ੇਸ਼ਤਾ ਇਸਨੂੰ ਇੱਕ ਸਾਫ਼ ਦਸਤਾਵੇਜ਼ ਢਾਂਚੇ ਨੂੰ ਬਣਾਈ ਰੱਖਣ ਲਈ ਆਦਰਸ਼ ਬਣਾਉਂਦੀ ਹੈ।
ਇਕੱਠੀ ਕੀਤੀ ਸੂਚੀ ਆਈਟਮਾਂ ਦੇ ਕ੍ਰਮ ਨੂੰ ਬੇਤਰਤੀਬ ਕਰਨ ਲਈ, ਸਕ੍ਰਿਪਟ ਦੇ ਸੁਮੇਲ ਨੂੰ ਨਿਯੁਕਤ ਕਰਦੀ ਹੈ ਰੈਂਡਮਾਈਜ਼ ਕਰੋ ਬਿਆਨ ਅਤੇ ਬੇਤਰਤੀਬ ਸੂਚਕਾਂਕ ਬਣਾਉਣ ਲਈ ਇੱਕ ਕਸਟਮ ਫਾਰਮੂਲਾ। ਇਹ ਸੂਚੀ ਆਈਟਮਾਂ ਨੂੰ ਗਤੀਸ਼ੀਲ ਰੂਪ ਵਿੱਚ ਬਦਲਣ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ, ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਹਰੇਕ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਵਿਲੱਖਣ ਨਤੀਜੇ ਦਿੰਦੀ ਹੈ। ਇੱਕ ਵਾਰ ਸ਼ੱਫਲ ਹੋਣ ਤੋਂ ਬਾਅਦ, ਆਈਟਮਾਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਟੇਬਲ ਕਤਾਰ ਵਿੱਚ ਵਾਪਸ ਪਾ ਦਿੱਤੀ ਜਾਂਦੀ ਹੈ curRow.Range.InsertAfter. ਇਹ ਫੰਕਸ਼ਨ ਕਤਾਰ ਵਿੱਚ ਸਮੱਗਰੀ ਨੂੰ ਜੋੜਦਾ ਹੈ, ਇਹ ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਕਿਵੇਂ VBA ਦੀ ਵਰਤੋਂ ਦਸਤਾਵੇਜ਼ ਢਾਂਚੇ ਨੂੰ ਸਿੱਧੇ ਤੌਰ 'ਤੇ ਹੇਰਾਫੇਰੀ ਕਰਨ ਲਈ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ। ਕਲਪਨਾ ਕਰੋ ਕਿ ਤੁਸੀਂ ਇੱਕ ਰਿਪੋਰਟ ਦੇ ਅੰਦਰ ਇੱਕ ਕਰਨਯੋਗ ਸੂਚੀ ਨੂੰ ਪੁਨਰਗਠਿਤ ਕਰ ਰਹੇ ਹੋ—ਇਹ ਤੇਜ਼ ਅਤੇ ਕੁਸ਼ਲ ਹੈ! 🎲
ਅੰਤਮ ਕਦਮ ਲਗਾਤਾਰ ਆਖਰੀ ਪੈਰੇ ਦੇ ਮੁੱਦੇ ਨੂੰ ਸੰਬੋਧਿਤ ਕਰਦਾ ਹੈ। ਦੇ ਨਾਲ ਆਖਰੀ ਪੈਰਾ ਨੂੰ ਖਾਸ ਤੌਰ 'ਤੇ ਨਿਸ਼ਾਨਾ ਬਣਾ ਕੇ curRow.Range.Paragraphs, ਸਕ੍ਰਿਪਟ ਇਸ ਤੱਕ ਪਹੁੰਚ ਕਰਦੀ ਹੈ ਅਤੇ ਇਸਨੂੰ ਮਿਟਾਉਂਦੀ ਹੈ, ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਿ ਸਾਰਣੀ ਕਤਾਰ ਵਿੱਚ ਕੋਈ ਬੇਲੋੜੀ ਖਾਲੀ ਥਾਂ ਨਹੀਂ ਬਚੀ ਹੈ। ਇਹ ਹੱਲ ਬਚੇ ਹੋਏ ਡੇਟਾ ਨਾਲ ਨਜਿੱਠਣ ਦੀ ਅਸਲ-ਸੰਸਾਰ ਨਿਰਾਸ਼ਾ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ ਜੋ ਇੱਕ ਪਾਲਿਸ਼ਡ ਦਸਤਾਵੇਜ਼ ਲੇਆਉਟ ਵਿੱਚ ਵਿਘਨ ਪਾਉਂਦਾ ਹੈ। ਉਦਾਹਰਨ ਲਈ, ਜੇਕਰ ਤੁਸੀਂ ਇੱਕ ਪੇਸ਼ੇਵਰ ਰਿਪੋਰਟ ਜਾਂ ਟੈਮਪਲੇਟ ਬਣਾ ਰਹੇ ਹੋ, ਤਾਂ ਇਹ ਵਾਧੂ ਪੈਰੇ ਗੈਰ-ਪੇਸ਼ੇਵਰ ਲੱਗ ਸਕਦੇ ਹਨ। ਸਕ੍ਰਿਪਟ ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰਦੀ ਹੈ ਕਿ ਨਤੀਜਾ ਸਾਫ਼ ਅਤੇ ਪ੍ਰਸਤੁਤ ਹੈ, ਅਜਿਹੇ ਸੂਖਮ ਫਾਰਮੈਟਿੰਗ ਚੁਣੌਤੀਆਂ ਨੂੰ ਸਹਿਜੇ ਹੀ ਸੰਭਾਲਣ ਲਈ VBA ਦੀ ਸ਼ਕਤੀ ਨੂੰ ਉਜਾਗਰ ਕਰਦਾ ਹੈ।
ਮਾਈਕਰੋਸਾਫਟ ਵਰਡ VBA ਵਿੱਚ ਵਾਧੂ ਪੈਰਾਗ੍ਰਾਫਾਂ ਨੂੰ ਹਟਾਉਣ ਨੂੰ ਸੰਭਾਲਣਾ
ਇਹ ਹੱਲ ਇੱਕ ਸਾਰਣੀ ਕਤਾਰ ਵਿੱਚ ਆਖਰੀ ਪੈਰੇ ਨੂੰ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਢੰਗ ਨਾਲ ਸੰਭਾਲਣ ਅਤੇ ਹਟਾਉਣ ਲਈ ਇੱਕ VBA ਪਹੁੰਚ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ।
Sub RemoveLastParagraph()Dim tbl As TableDim curRow As RowDim para As Paragraph' Ensure the cursor is inside a tableIf Not Selection Is Nothing And Selection.Tables.Count > 0 ThenSet tbl = Selection.Tables(1)Set curRow = Selection.Rows(1)ElseMsgBox "Please place the cursor inside a table."Exit SubEnd If' Get the last paragraph in the current rowSet para = curRow.Range.Paragraphs(curRow.Range.Paragraphs.Count)' Remove the last paragraph's text and paragraph itselfpara.Range.Text = ""para.Range.DeleteEnd Sub
ਇੱਕ ਸਾਰਣੀ ਕਤਾਰ ਵਿੱਚ ਸੂਚੀ ਆਈਟਮਾਂ ਨੂੰ ਬਦਲਣਾ ਅਤੇ ਮੁੜ-ਸੰਮਿਲਿਤ ਕਰਨਾ
ਇਹ ਹੱਲ ਆਖਰੀ ਪੈਰੇ ਦੇ ਸਹੀ ਪ੍ਰਬੰਧਨ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਂਦੇ ਹੋਏ, ਪੱਧਰ-2 ਸੂਚੀ ਆਈਟਮਾਂ ਨੂੰ ਸ਼ਫਲ ਕਰਨ ਅਤੇ ਦੁਬਾਰਾ ਸ਼ਾਮਲ ਕਰਨ ਲਈ ਕਾਰਜਸ਼ੀਲਤਾ ਜੋੜਦਾ ਹੈ।
Sub ShuffleAndRemoveLastParagraph()Dim tbl As TableDim curRow As RowDim para As ParagraphDim paras() As StringDim cnt As Integer, i As Integer, j As IntegerDim temp As String' Ensure the cursor is inside a tableIf Not Selection Is Nothing And Selection.Tables.Count > 0 ThenSet tbl = Selection.Tables(1)Set curRow = Selection.Rows(1)ElseMsgBox "Please place the cursor inside a table."Exit SubEnd If' Collect level-2 list itemscnt = 0For Each para In curRow.Range.ParagraphsIf para.Range.ListFormat.ListLevelNumber = 2 Thencnt = cnt + 1End IfNext paraReDim paras(1 To cnt)cnt = 0For Each para In curRow.Range.ParagraphsIf para.Range.ListFormat.ListLevelNumber = 2 Thencnt = cnt + 1paras(cnt) = para.Range.Textpara.Range.Text = ""End IfNext para' Shuffle itemsRandomizeFor i = 1 To cnt - 1j = Int((cnt - i + 1) * Rnd + i)temp = paras(i)paras(i) = paras(j)paras(j) = tempNext i' Reinsert shuffled itemsFor i = 1 To cntcurRow.Range.InsertAfter paras(i)Next i' Remove the last paragraphSet para = curRow.Range.Paragraphs(curRow.Range.Paragraphs.Count)para.Range.Text = ""para.Range.DeleteEnd Sub
ਆਖਰੀ ਪੈਰਾਗ੍ਰਾਫ ਹਟਾਉਣ ਲਈ ਯੂਨਿਟ ਟੈਸਟ
ਇਹ ਟੈਸਟ ਪ੍ਰਮਾਣਿਤ ਕਰਦਾ ਹੈ ਕਿ ਸਕ੍ਰਿਪਟ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਤੋਂ ਬਾਅਦ ਆਖਰੀ ਪੈਰੇ ਨੂੰ ਸਫਲਤਾਪੂਰਵਕ ਹਟਾ ਦਿੱਤਾ ਗਿਆ ਹੈ।
Sub TestRemoveLastParagraph()Dim tbl As TableDim curRow As RowDim para As Paragraph' Test setup: Add a table with sample dataSet tbl = ActiveDocument.Tables.Add(Selection.Range, 2, 2)tbl.Cell(1, 1).Range.Text = "Item 1"tbl.Cell(1, 2).Range.Text = "Item 2"tbl.Cell(2, 1).Range.Text = "Last Paragraph"' Run the removal functionSet curRow = tbl.Rows(2)Call RemoveLastParagraph' Validate resultIf curRow.Range.Paragraphs.Count = 0 ThenMsgBox "Test Passed!"ElseMsgBox "Test Failed!"End IfEnd Sub
ਡੂੰਘੀ ਗੋਤਾਖੋਰੀ: ਵਰਡ VBA ਟੇਬਲ ਵਿੱਚ ਪੈਰਿਆਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨਾ
ਮਾਈਕ੍ਰੋਸਾਫਟ ਵਰਡ VBA ਨਾਲ ਕੰਮ ਕਰਨ ਦਾ ਇੱਕ ਅਕਸਰ ਨਜ਼ਰਅੰਦਾਜ਼ ਕੀਤਾ ਗਿਆ ਪਹਿਲੂ ਟੇਬਲ ਦੇ ਅੰਦਰ ਪੈਰਾਗ੍ਰਾਫ ਰੇਂਜਾਂ ਦੀ ਭੂਮਿਕਾ ਨੂੰ ਸਮਝ ਰਿਹਾ ਹੈ। ਜਦੋਂ ਤੁਸੀਂ ਇੱਕ ਸਾਰਣੀ ਕਤਾਰ ਵਿੱਚ ਸਮਗਰੀ ਨੂੰ ਜੋੜਦੇ ਜਾਂ ਬਦਲਦੇ ਹੋ, ਤਾਂ ਇਹ ਪ੍ਰਬੰਧਨ ਕਰਨਾ ਮੁਸ਼ਕਲ ਹੋ ਸਕਦਾ ਹੈ ਕਿ ਪੈਰਾਗ੍ਰਾਫ ਕਿਵੇਂ ਇੰਟਰੈਕਟ ਕਰਦੇ ਹਨ। ਉਦਾਹਰਨ ਲਈ, ਜੇਕਰ ਇੱਕ ਪੈਰਾ ਇੱਕ ਸੂਚੀ ਦਾ ਹਿੱਸਾ ਹੈ, ਤਾਂ ਇਹ ਮੈਟਾਡੇਟਾ ਰੱਖਦਾ ਹੈ ਜਿਵੇਂ ਕਿ ਸੂਚੀ ਪੱਧਰ, ਨੰਬਰਿੰਗ, ਅਤੇ ਫਾਰਮੈਟਿੰਗ। ਵਰਗੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦਾ ਲਾਭ ਉਠਾ ਕੇ ਸੂਚੀ ਪੱਧਰ ਨੰਬਰ, ਤੁਸੀਂ ਪ੍ਰੋਸੈਸਿੰਗ ਲਈ ਖਾਸ ਤੱਤਾਂ ਨੂੰ ਅਲੱਗ ਕਰ ਸਕਦੇ ਹੋ, ਜਿਵੇਂ ਕਿ ਅਸੀਂ ਲੈਵਲ-2 ਸੂਚੀ ਆਈਟਮਾਂ ਨਾਲ ਦੇਖਿਆ ਹੈ। ਇਹ ਦਾਣੇਦਾਰ ਨਿਯੰਤਰਣ VBA ਡਿਵੈਲਪਰਾਂ ਨੂੰ ਸਟੀਕ ਫਾਰਮੈਟਿੰਗ ਲੋੜਾਂ ਦੇ ਅਨੁਸਾਰ ਗਤੀਸ਼ੀਲ ਅਤੇ ਜਵਾਬਦੇਹ ਸਕ੍ਰਿਪਟਾਂ ਬਣਾਉਣ ਲਈ ਸਮਰੱਥ ਬਣਾਉਂਦੇ ਹਨ। 📋
ਇੱਕ ਹੋਰ ਮਹੱਤਵਪੂਰਣ ਵਿਸ਼ੇਸ਼ਤਾ ਇੱਕ ਕਤਾਰ ਦੀ ਰੇਂਜ ਅਤੇ ਇਸਦੇ ਵਿਅਕਤੀਗਤ ਪੈਰਿਆਂ ਵਿੱਚ ਅੰਤਰ ਹੈ। ਰੇਂਜ ਕਤਾਰ ਦੇ ਅੰਦਰ ਸਾਰੀ ਸਮੱਗਰੀ ਨੂੰ ਕਵਰ ਕਰਦੀ ਹੈ, ਪਰ ਪੈਰਾਗ੍ਰਾਫ ਇਸਨੂੰ ਪ੍ਰਬੰਧਨਯੋਗ ਭਾਗਾਂ ਵਿੱਚ ਵੰਡਦੇ ਹਨ। ਸਮੱਗਰੀ ਨੂੰ ਸੋਧਣ ਵੇਲੇ ਇਹ ਮਹੱਤਵਪੂਰਨ ਬਣ ਜਾਂਦਾ ਹੈ ਕਿਉਂਕਿ ਪੈਰਾਗ੍ਰਾਫਾਂ 'ਤੇ ਵਿਚਾਰ ਕੀਤੇ ਬਿਨਾਂ ਸੀਮਾ ਨੂੰ ਸੰਬੋਧਿਤ ਕਰਨ ਨਾਲ ਅਣਇੱਛਤ ਤਬਦੀਲੀਆਂ ਹੋ ਸਕਦੀਆਂ ਹਨ। ਡਿਵੈਲਪਰ ਅਕਸਰ ਵਰਤਦੇ ਹਨ curRow.Range.Paragraphs ਕਤਾਰ ਦੇ ਗੈਰ-ਸੰਬੰਧਿਤ ਭਾਗਾਂ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕੀਤੇ ਬਿਨਾਂ ਪੈਰਾਗ੍ਰਾਫਾਂ ਰਾਹੀਂ ਦੁਹਰਾਉਣਾ ਅਤੇ ਸਟੀਕ ਸੰਪਾਦਨ ਕਰਨਾ। ਇਹ ਵਿਸ਼ੇਸ਼ ਤੌਰ 'ਤੇ ਪੇਸ਼ੇਵਰ ਰਿਪੋਰਟਾਂ ਜਾਂ ਟੈਂਪਲੇਟਾਂ ਵਿੱਚ ਇਕਸਾਰ ਦਸਤਾਵੇਜ਼ ਫਾਰਮੈਟਿੰਗ ਨੂੰ ਬਣਾਈ ਰੱਖਣ ਲਈ ਲਾਭਦਾਇਕ ਹੈ।
ਅੰਤ ਵਿੱਚ, ਕਿਨਾਰੇ ਦੇ ਕੇਸਾਂ ਨੂੰ ਸੰਭਾਲਣਾ, ਜਿਵੇਂ ਕਿ ਖਾਲੀ ਪੈਰੇ, ਧਿਆਨ ਨਾਲ ਧਿਆਨ ਦੇਣ ਦੀ ਲੋੜ ਹੈ। VBA ਵਿੱਚ, ਕਮਾਂਡਾਂ ਜਿਵੇਂ ਕਿ ਪੈਰਾ.ਰੇਂਜ.ਮਿਟਾਓ ਖਾਲੀ ਢਾਂਚਿਆਂ ਨੂੰ ਛੱਡ ਕੇ, ਕਈ ਵਾਰ ਗਲਤ ਲਾਗੂ ਹੋਣ 'ਤੇ ਅਸਫਲ ਹੋ ਸਕਦਾ ਹੈ। ਇੱਕ ਵਿਹਾਰਕ ਹੱਲ ਵਿੱਚ ਮਿਟਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਪੈਰੇ ਦੇ ਪਾਠ ਨੂੰ ਸਾਫ਼ ਕਰਨਾ ਸ਼ਾਮਲ ਹੁੰਦਾ ਹੈ, ਇਹ ਯਕੀਨੀ ਬਣਾਉਣਾ ਕਿ ਕੋਈ ਵੀ ਬਚਿਆ ਹੋਇਆ ਡੇਟਾ ਦਸਤਾਵੇਜ਼ ਦੇ ਪ੍ਰਵਾਹ ਵਿੱਚ ਵਿਘਨ ਨਾ ਪਵੇ। ਉਦਾਹਰਨ ਲਈ, ਇੱਕ ਬਦਲੀ ਹੋਈ ਕਾਰਜ ਸੂਚੀ ਵਿੱਚ, ਇਹ ਯਕੀਨੀ ਬਣਾਉਣਾ ਕਿ ਆਖਰੀ ਕਤਾਰ ਸਾਫ਼-ਸੁਥਰੀ ਰਹੇ ਅਤੇ ਇੱਕ ਸ਼ਾਨਦਾਰ ਅੰਤਿਮ ਉਤਪਾਦ ਪ੍ਰਦਾਨ ਕਰਨ ਲਈ ਪੇਸ਼ੇਵਰ ਮਹੱਤਵਪੂਰਨ ਹੈ। ਇਹ ਛੋਟੀਆਂ ਪਰ ਮਹੱਤਵਪੂਰਨ ਵਿਵਸਥਾਵਾਂ ਦਸਤਾਵੇਜ਼ ਆਟੋਮੇਸ਼ਨ ਲਈ VBA ਦੀ ਬਹੁਪੱਖੀਤਾ ਨੂੰ ਉਜਾਗਰ ਕਰਦੀਆਂ ਹਨ। ✨
VBA ਵਿੱਚ ਵਰਡ ਟੇਬਲ ਕਤਾਰਾਂ ਦੇ ਪ੍ਰਬੰਧਨ ਬਾਰੇ ਜ਼ਰੂਰੀ ਅਕਸਰ ਪੁੱਛੇ ਜਾਂਦੇ ਸਵਾਲ
- ਮੈਂ ਇੱਕ ਸਾਰਣੀ ਕਤਾਰ ਵਿੱਚ ਖਾਸ ਪੈਰਿਆਂ ਦੀ ਪਛਾਣ ਕਿਵੇਂ ਕਰ ਸਕਦਾ ਹਾਂ?
- ਵਰਤੋ curRow.Range.Paragraphs ਇੱਕ ਕਤਾਰ ਵਿੱਚ ਸਾਰੇ ਪੈਰਿਆਂ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਲਈ। ਇਸ ਨਾਲ ਮਿਲਾਓ ListFormat.ListLevelNumber ਖਾਸ ਸੂਚੀ ਪੱਧਰਾਂ ਨੂੰ ਨਿਸ਼ਾਨਾ ਬਣਾਉਣ ਲਈ।
- ਸੂਚੀ ਆਈਟਮਾਂ ਨੂੰ ਬਦਲਣ ਦਾ ਸਭ ਤੋਂ ਵਧੀਆ ਤਰੀਕਾ ਕੀ ਹੈ?
- ਸੂਚੀ ਆਈਟਮਾਂ ਨੂੰ ਇੱਕ ਐਰੇ ਵਿੱਚ ਸਟੋਰ ਕਰੋ, ਉਹਨਾਂ ਨੂੰ ਇੱਕ ਬੇਤਰਤੀਬ ਸੂਚਕਾਂਕ ਫਾਰਮੂਲੇ ਨਾਲ ਸ਼ਫਲ ਕਰੋ, ਅਤੇ ਉਹਨਾਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਉਹਨਾਂ ਨੂੰ ਦੁਬਾਰਾ ਪਾਓ curRow.Range.InsertAfter.
- ਕਿਉਂ ਕਰਦਾ ਹੈ para.Range.Delete ਕਦੇ-ਕਦੇ ਅਸਫਲ?
- ਜੇ ਪੈਰਾ ਖਾਲੀ ਨਹੀਂ ਹੈ ਤਾਂ ਇਹ ਕਮਾਂਡ ਬਾਕੀ ਬਚੀਆਂ ਬਣਤਰਾਂ ਨੂੰ ਛੱਡ ਸਕਦੀ ਹੈ। ਨਾਲ ਟੈਕਸਟ ਨੂੰ ਸਾਫ਼ ਕਰੋ para.Range.Text = "" ਪੂਰੀ ਮਿਟਾਉਣ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਪਹਿਲਾਂ।
- ਮੈਂ ਇਹ ਕਿਵੇਂ ਯਕੀਨੀ ਬਣਾਵਾਂ ਕਿ ਮੇਰੀ ਸਕ੍ਰਿਪਟ ਸਿਰਫ਼ ਇੱਕ ਸਾਰਣੀ ਵਿੱਚ ਕੰਮ ਕਰਦੀ ਹੈ?
- ਨਾਲ ਜਾਂਚ ਕਰੋ Selection.Tables.Count ਕਤਾਰ-ਵਿਸ਼ੇਸ਼ ਕਮਾਂਡਾਂ ਨੂੰ ਚਲਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਇਹ ਪੁਸ਼ਟੀ ਕਰਨ ਲਈ ਕਿ ਕਰਸਰ ਇੱਕ ਸਾਰਣੀ ਵਿੱਚ ਹੈ।
- ਕੀ ਮੈਂ ਹੋਰ ਕਤਾਰ ਸਮੱਗਰੀ ਕਿਸਮਾਂ ਨੂੰ ਹੇਰਾਫੇਰੀ ਕਰ ਸਕਦਾ ਹਾਂ?
- ਹਾਂ, ਵਰਤੋਂ curRow.Range ਆਮ ਸਮੱਗਰੀ ਸੋਧਾਂ ਜਾਂ ਬੁੱਕਮਾਰਕਸ ਅਤੇ ਫੀਲਡਾਂ ਵਰਗੇ ਖਾਸ ਤੱਤਾਂ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਲਈ।
ਸਟ੍ਰੀਮਲਾਈਨਿੰਗ ਵਰਡ ਟੇਬਲ ਪ੍ਰਬੰਧਨ 'ਤੇ ਅੰਤਮ ਵਿਚਾਰ
VBA ਦੇ ਨਾਲ ਵਰਡ ਟੇਬਲ ਵਿੱਚ ਪੈਰਾਗ੍ਰਾਫਾਂ ਅਤੇ ਸੂਚੀ ਆਈਟਮਾਂ ਨੂੰ ਕਿਵੇਂ ਬਦਲਣਾ ਹੈ ਇਹ ਸਮਝਣਾ ਸਵੈਚਲਿਤ ਫਾਰਮੈਟਿੰਗ ਕਾਰਜਾਂ ਲਈ ਇੱਕ ਗੇਮ-ਚੇਂਜਰ ਹੈ। ਨੂੰ ਹਟਾਉਣ ਤੋਂ ਆਖਰੀ ਪੈਰਾ ਸੂਚੀ ਪੱਧਰਾਂ ਨੂੰ ਸੰਭਾਲਣ ਲਈ, ਇਹ ਹੱਲ ਕਾਰਜਸ਼ੀਲਤਾ ਅਤੇ ਪੇਸ਼ਕਾਰੀ ਦੋਵਾਂ ਵਿੱਚ ਸੁਧਾਰ ਕਰਦੇ ਹਨ। 🚀
ਭਾਵੇਂ ਤੁਸੀਂ ਪੇਸ਼ੇਵਰ ਦਸਤਾਵੇਜ਼ ਬਣਾ ਰਹੇ ਹੋ ਜਾਂ ਦੁਹਰਾਉਣ ਵਾਲੇ ਸੰਪਾਦਨਾਂ ਨੂੰ ਸਰਲ ਬਣਾ ਰਹੇ ਹੋ, ਇਹ ਤਕਨੀਕਾਂ ਇੱਕ ਸਾਫ਼, ਮੁੜ ਵਰਤੋਂ ਯੋਗ ਪਹੁੰਚ ਪ੍ਰਦਾਨ ਕਰਦੀਆਂ ਹਨ। VBA ਦੇ ਟੂਲਸ ਅਤੇ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਸਾਵਧਾਨੀ ਨਾਲ ਵਰਤੋਂ ਨਾਲ, ਤੁਸੀਂ ਹਰ ਵਾਰ ਪਾਲਿਸ਼ਡ, ਗਲਤੀ-ਮੁਕਤ ਨਤੀਜੇ ਬਣਾਉਣ ਲਈ ਸਕ੍ਰਿਪਟਾਂ ਨੂੰ ਅਨੁਕੂਲਿਤ ਕਰ ਸਕਦੇ ਹੋ। ✍️
VBA ਟੇਬਲ ਪ੍ਰਬੰਧਨ ਲਈ ਸਰੋਤ ਅਤੇ ਹਵਾਲੇ
- ਸਮੱਗਰੀ ਅਤੇ ਉਦਾਹਰਨਾਂ ਅਧਿਕਾਰਤ Microsoft Word VBA ਦਸਤਾਵੇਜ਼ਾਂ ਤੋਂ ਪ੍ਰੇਰਿਤ ਸਨ। 'ਤੇ ਹੋਰ ਜਾਣੋ ਮਾਈਕਰੋਸਾਫਟ ਵਰਡ VBA ਸੰਦਰਭ .
- ਪੈਰਾਗ੍ਰਾਫ਼ ਹੇਰਾਫੇਰੀ 'ਤੇ ਅਤਿਰਿਕਤ ਸਮਝ ਕਮਿਊਨਿਟੀ ਫੋਰਮਾਂ ਤੋਂ ਖਿੱਚੀ ਗਈ ਸੀ। 'ਤੇ ਚਰਚਾਵਾਂ ਦੇਖੋ ਸਟੈਕ ਓਵਰਫਲੋ - ਸ਼ਬਦ VBA .
- ਟੇਬਲ ਆਟੋਮੇਸ਼ਨ ਅਤੇ VBA ਸਕ੍ਰਿਪਟਿੰਗ ਲਈ ਸਭ ਤੋਂ ਵਧੀਆ ਅਭਿਆਸਾਂ ਦਾ ਇੱਥੇ ਉਪਲਬਧ ਪ੍ਰੋਗਰਾਮਿੰਗ ਟਿਊਟੋਰਿਅਲਸ ਤੋਂ ਹਵਾਲਾ ਦਿੱਤਾ ਗਿਆ ਸੀ VBA ਐਕਸਪ੍ਰੈਸ .