I had a similar issue back in the day - I'll try to replicate what I did in a step by step guide.
However, I strongly advise you to make a backup copy of your map before trying this, in case I forgot something
Also, there's quite a lot of work with this, so instead of doing all objects at once, you might try following this guide for only one object first to see if it works.
So, it's generally a bit tricky... But let's go:
PHASE 1 - MIGRATING
1. First thing you need to do is export all imported resources from your map into some folder. Then "Export All Object Data" from your map's Object Manager to some place you will be comfortable finding it. Also, for reference - you might want to make a screenshot or copy all your custom imported file paths to some sort of text editor/notepad.
2. Create a campaign file - import all models and object data that you previously imported in the Campaign Editor.
3. Add your map to the campaign.
4. Save the campaign file -> Restart the editor -> Open Campaign Editor -> Load your campaign file -> Right Click your map in the campaign map list -> Edit Map. It should load the version of the map that you have stored within the campaign.
PHASE 2 - FIXING THE MAP
5. Once the map is loaded, make sure to go to its Import Manager (through the main editor window, not through the Campaign Editor) and REMOVE all imported data from there - all these assets are already imported in the campaign file the map is in, so they don't have to be in the map itself. If you don't do that, the file size of your campaign will be unneccessarily larger and some maps might not load from the campaign screen.
6. Go to the Object Editor of your map (through the main editor window, not through the Campaign Editor) and RESET EVERYTHING TO DEFAULT. Yes, you heard me right - every thing that is marked with purple/pink font needs to be reset to default.
a) The way campaigns work is that the Custom Object Data from your campaign file will automatically be applied to all maps in the campaign.
b) If you imported your Custom Object Data to your campaign file (point #2), you should notice that once you reset an object to default, it's name will use blue font instead of the pink one. Since the Custom Object data in your campaign and your map are the same (because you imported your map data into your campaign), nothing else should change.
c) If something in object editor is marked with a 1) Black font - it uses default W3 data 2) Blue font - it's using the Object Data settings from your campaign file (if you change anything in the Campaign Editor's Custom Data tab, whether it is marked by a blue or black font there, it will automatically also be applied to each of your maps in the campaign) 3) Pink font - it appears only in individual maps. What this means is that the thing you're looking at is using object data specific to that map. Be mindful that these setting override the campaign data (i.e. once you play this map, it will use the settings from the map and not from the campaign).
7. Once all the imported data has been removed and custom settings reset to default (i.e. are marked by black or blue font) IN THE MAP (not the campaign), save the map - it will also automatically save your campaign.
PHASE 3 - FIXING THE CAMPAIGN
8. Your map is now set to utilize campaign custom object data and campaign imports. However, there are still some things you need to fix to have your map work properly.
9. Go to the Campaign Editor -> Imported Files tab. The first thing you need to do is make sure that each and every imported file has the correct path. The default path is
war3campImported\resourcename.extension (.mdx/.blp etc.). A lot of the imported files such as icons or textures utilize custom paths - you will have to apply them in the campaign editor just like you did in your map (remember the screenshot/notepad from #1? yeah, it will come in handy now). The end result is that every file that uses a custom path should have it exactly the way it was is the map and everything else should stay with the default path.
10. Go to Campaign Editor -> Custom Data. Now, the tricky part is that since the paths have changed, you should go through each custom object and:
a) For icons - just reselect the .blp files to be safe.
b) Models - in your maps, the models had a default path of
war3mapImported\resourcename.extension - however, their files no longer exist in that path, which causes your map/editor to not find them. You have to edit those paths to be like
war3campImported\resourcename.extension.
11. Once this is done, just save the map/campaign. If you followed all of these instructions, everything should work correctly if you load the map from the campaign menu (not by using "Test Map" feature).